J
JayR
Guest
Collision code not working how I want it to.. Maybe I'm doing it all wrong?
What I'm trying to do:
1) when player enters an outer range, increase boost by +2
2) when player enters an inner range, increase boost by +2 (now total of +4)
3) when moving from inner range to outer range, back to +2
4) leaving the range, +0
What I'm trying to do:
1) when player enters an outer range, increase boost by +2
2) when player enters an inner range, increase boost by +2 (now total of +4)
3) when moving from inner range to outer range, back to +2
4) leaving the range, +0
Code:
/// @param radius The range that warmth is provided to.
/// @param rate The amount of warmth provided per second.
/* Uses:
blueprint_warmth_provider_init() - Script for Object's Create Event.
blueprint_warmth_provider_step() - Script for Object's Step Event.
*/
// Being closer to the fire source provides double the warmth.
var radius = argument[0],
rate = argument[1];
var inst = collision_circle(x, y, radius, character_jay, false, true);
if (inst != noone) {
// On entering the outer range.
if (outer_range == false && inner_range == false) {
character_jay.warmth_boost += rate;
outer_range = true;
}
if (outer_range == true && inner_range == false && collision_circle(x, y, radius / 2, character_jay, false, true)) {
character_jay.warmth_boost += rate;
inner_range = true;
} else {
character_jay.warmth_boost -= rate;
inner_range = false;
}
} else {
outer_range = false;
inner_range = false;
}