bool is_trigger = !boolean(!this.nottargeted && this.targetname != "");
if(is_trigger)
EXACTTRIGGER_TOUCH(this, toucher);
- toucher.triggerhealtime = time + 1;
+ if(this.delay > 0)
+ toucher.triggerhealtime = time + this.delay;
+ bool playthesound = (this.spawnflags & 4);
if (toucher.health < this.max_health)
{
+ playthesound = true;
toucher.health = min(toucher.health + this.health, this.max_health);
toucher.pauserothealth_finished = max(toucher.pauserothealth_finished, time + autocvar_g_balance_pause_health_rot);
- _sound (toucher, CH_TRIGGER, this.noise, VOL_BASE, ATTEN_NORM);
}
+
+ if(playthesound)
+ _sound (toucher, CH_TRIGGER, this.noise, VOL_BASE, ATTEN_NORM);
}
}
}
trigger_heal_touch(this, actor);
}
-spawnfunc(trigger_heal)
+void trigger_heal_init(entity this)
{
this.active = ACTIVE_ACTIVE;
-
- EXACTTRIGGER_INIT;
- settouch(this, trigger_heal_touch);
- if (!this.health)
+ if(!this.delay)
+ this.delay = 1;
+ if(!this.health)
this.health = 10;
- if (!this.max_health)
- this.max_health = 200; //Max health topoff for field
+ if(!this.max_health)
+ this.max_health = 200; // max health topoff for field
if(this.noise == "")
this.noise = "misc/mediumhealth.wav";
precache_sound(this.noise);
}
+spawnfunc(trigger_heal)
+{
+ EXACTTRIGGER_INIT;
+ settouch(this, trigger_heal_touch);
+ trigger_heal_init(this);
+}
+
spawnfunc(target_heal)
{
- this.active = ACTIVE_ACTIVE;
this.use = trigger_heal_use;
- if (!this.health)
- this.health = 10;
- if (!this.max_health)
- this.max_health = 200; //Max health topoff for field
- if(this.noise == "")
- this.noise = "misc/mediumhealth.wav";
- precache_sound(this.noise);
+ trigger_heal_init(this);
}
#endif