if(notify_attackers[kn_index]) { strunzone(notify_attackers[kn_index]); }
notify_attackers[kn_index] = strzone(attacker);
- if(msg == MSG_KILL_ACTION) { // wtf is this? isnt it basically the same as MSG_SUICIDE?
- if(DEATH_ISMONSTER(type)) {
- HUD_KillNotify_Push(s1, "", 0, DEATH_GENERIC);
- if(alsoprint)
- {
- if(gentle)
- print (sprintf(_("^1%s^1 hit a monster, and the monster hit back\n"), s1));
- else
- {
- switch(type)
- {
- case DEATH_MONSTER_DEMON_MELEE:
- print (sprintf(_("^1%s^1 was eviscerated by a Fiend \n"), s1));
- break;
- case DEATH_MONSTER_DEMON_JUMP:
- print (sprintf(_("^1%s^1 didn't see the Fiend pouncing at them \n"), s1));
- break;
- case DEATH_MONSTER_SHAMBLER_MELEE:
- print (sprintf(_("^1%s^1 was smashed by a Shambler \n"), s1));
- break;
- case DEATH_MONSTER_SHAMBLER_CLAW:
- print (sprintf(_("^1%s^1's insides were ripped out by a Shambler \n"), s1));
- break;
- case DEATH_MONSTER_SHAMBLER_LIGHTNING:
- print (sprintf(_("^1%s^1 was zapped to death by a Shambler \n"), s1));
- break;
- case DEATH_MONSTER_SOLDIER_NAIL:
- print (sprintf(_("^1%s^1 was riddled full of holes by a Soldier \n"), s1));
- break;
- case DEATH_MONSTER_ENFORCER_NAIL:
- print (sprintf(_("^1%s^1 was riddled full of holes by an Enforcer \n"), s1));
- break;
- case DEATH_MONSTER_DOG_BITE:
- print (sprintf(_("^1%s^1 was mauled by a Rottweiler \n"), s1));
- break;
- case DEATH_MONSTER_DOG_JUMP:
- print (sprintf(_("^1%s^1 didn't see the pouncing Rottweiler \n"), s1));
- break;
- case DEATH_MONSTER_TARBABY_BLOWUP:
- print (sprintf(_("^1%s^1 was slimed by a Spawn \n"), s1));
- break;
- case DEATH_MONSTER_FISH_BITE:
- print (sprintf(_("^1%s^1 was fed to the Rotfish \n"), s1));
- break;
- case DEATH_MONSTER_HELLFISH_BITE:
- print (sprintf(_("^1%s^1 was eaten alive by a Hellfish \n"), s1));
- break;
- case DEATH_MONSTER_SHALRATH_MELEE:
- print (sprintf(_("^1%s^1 was exploded by a Vore \n"), s1));
- break;
- case DEATH_MONSTER_OGRE_CHAINSAW:
- print (sprintf(_("^1%s^1 was destroyed by an Ogre \n"), s1));
- break;
- case DEATH_MONSTER_OGRE_NAIL:
- print (sprintf(_("^1%s^1 was riddled full of holes by an Ogre \n"), s1));
- break;
- case DEATH_MONSTER_ZOMBIE:
- print (sprintf(_("^1%s^1's brains were eaten by a Zombie \n"), s1));
- break;
- case DEATH_MONSTER_HELLKNIGHT_FIREBALL:
- print (sprintf(_("^1%s^1 was exploded by a Hell-Knight's fireball \n"), s1));
- case DEATH_MONSTER_MELEE:
- print (sprintf(_("^1%s^1 was killed by a monster \n"), s1));
- break;
- }
- }
- }
- }
- }
// victim
if(notify_victims[kn_index]) { strunzone(notify_victims[kn_index]); }
notify_victims[kn_index] = strzone(victim);
ScaleMonster(1.5);
self.flags |= MONSTERFLAG_MINIBOSS;
- if (r < 2 || self.team == COLOR_TEAM2)
+ if (r < 2 || self.team == NUM_TEAM_2)
{
self.strength_finished = -1;
self.effects |= (EF_FULLBRIGHT | EF_BLUE);
}
- else if (r >= 1 || self.team == COLOR_TEAM1)
+ else if (r >= 1 || self.team == NUM_TEAM_1)
{
self.invincible_finished = -1;
self.effects |= (EF_FULLBRIGHT | EF_RED);
if(teamplay && self.team)
{
- self.colormod = TeamColor(self.team);
+ self.colormod = Team_ColorRGB(self.team);
self.monster_attack = TRUE;
}
if(autocvar_g_monsters_healthbars)
{
- WaypointSprite_Spawn(self.netname, 0, 600, self, '0 0 1' * self.sprite_height, world, 0, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? TeamColor(self.team) : '1 0 0'));
+ WaypointSprite_Spawn(self.netname, 0, 600, self, '0 0 1' * self.sprite_height, world, 0, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? Team_ColorRGB(self.team) : '1 0 0'));
WaypointSprite_UpdateMaxHealth(self.sprite, self.max_health);
WaypointSprite_UpdateHealth(self.sprite, self.health);
}
if (findtrajectorywithleading(self.origin, self.mins, self.maxs, self.enemy, 1000, 0, 10, 0, self))
{
self.velocity = findtrajectory_velocity;
- Damage(self.enemy, self, self, autocvar_g_monster_hellknight_jump_damage * monster_skill, DEATH_VHCRUSH, self.enemy.origin, normalize(self.enemy.origin - self.origin));
+ Damage(self.enemy, self, self, autocvar_g_monster_hellknight_jump_damage * monster_skill, DEATH_VH_CRUSH, self.enemy.origin, normalize(self.enemy.origin - self.origin));
self.attack_finished_single = time + 2;
return TRUE;
}
wp.owner = self; // hmm...
wp.think = rts_waypoint_think;
wp.nextthink = time;
- WaypointSprite_Spawn("Here", 1, 0, wp, '0 0 10', world, self.team, wp, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? TeamColor(self.team) : '1 0 0'));
+ WaypointSprite_Spawn("Here", 1, 0, wp, '0 0 10', world, self.team, wp, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? Team_ColorRGB(self.team) : '1 0 0'));
setorigin(wp, self.cursor_trace_endpos);
}
float sheight = ((e.sprite_height) ? e.sprite_height + 20 : 80);
if(IsDifferentTeam(e, self))
{
- WaypointSprite_Spawn("Attacking", 1, 0, e, '0 0 1' * sheight, world, self.team, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? TeamColor(self.team) : '1 0 0'));
+ WaypointSprite_Spawn("Attacking", 1, 0, e, '0 0 1' * sheight, world, self.team, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? Team_ColorRGB(self.team) : '1 0 0'));
head.goalentity = world;
head.enemy = e;
}
else if(e.flags & FL_MONSTER)
{
- WaypointSprite_Spawn("Following", 1, 0, e, '0 0 1' * sheight, world, self.team, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? TeamColor(self.team) : '1 0 0'));
+ WaypointSprite_Spawn("Following", 1, 0, e, '0 0 1' * sheight, world, self.team, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? Team_ColorRGB(self.team) : '1 0 0'));
head.goalentity = e;
}
else // its not a monster or an enemy, so revert to waypoint
MUTATOR_HOOKFUNCTION(rts_MonsterThink)
{
- vector color = ((self.team) ? TeamColor(self.team) : '1 1 1');
+ vector color = ((self.team) ? Team_ColorRGB(self.team) : '1 1 1');
if(self.health >= self.max_health)
self.heal_delay = -1;
if not(self.sprite)
{
- WaypointSprite_Spawn(self.netname, 0, 0, self, '0 0 1' * self.sprite_height, world, self.team, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? TeamColor(self.team) : '1 0 0'));
+ WaypointSprite_Spawn(self.netname, 0, 0, self, '0 0 1' * self.sprite_height, world, self.team, self, sprite, FALSE, RADARICON_DANGER, ((teamplay) ? Team_ColorRGB(self.team) : '1 0 0'));
WaypointSprite_UpdateMaxHealth(self.sprite, self.max_health);
WaypointSprite_UpdateHealth(self.sprite, self.health);
}
FOR_EACH_PLAYER(tail)
{
- Send_CSQC_Centerprint_Generic(tail, CPID_KH_MSG, ((td_gencount > 1) ? "A generator was destroyed!" : "The generator was destroyed."), 0, 0);
+ centerprint(tail, ((td_gencount > 1) ? "A generator was destroyed!" : "The generator was destroyed."));
}
setmodel(self, "models/onslaught/generator_dead.md3");
FOR_EACH_PLAYER(tail)
{
- Send_CSQC_Centerprint_Generic(tail, CPID_KH_MSG, "The generator is under attack!", 0, 0);
+ centerprint(tail, "The generator is under attack!");
}
self.health -= damage;
entity tail;
FOR_EACH_PLAYER(tail)
{
- Send_CSQC_Centerprint_Generic(tail, CPID_KH_MSG, strcat("^1A ", anounce, " has arrived!"), 0, 0);
+ centerprint(tail, strcat("^1A ", anounce, " has arrived!"));
}
}
print("^1Combat phase!\n");
FOR_EACH_PLAYER(tail)
{
- Send_CSQC_Centerprint_Generic(tail, CPID_KH_MSG, "^1Combat phase!", 0, 0);
+ centerprint(tail, "^1Combat phase!");
}
if(autocvar_sv_eventlog)
GameLogEcho(":combatphase");
PlayerScore_Add(head, SP_TD_SCORE, -autocvar_g_td_generator_damaged_points);
n_players += 1;
- Send_CSQC_Centerprint_Generic(head, CPID_KH_MSG, strcat(buildmsg, healmsg, countmsg, startmsg), 5, 0);
+ centerprint(head, strcat(buildmsg, healmsg, countmsg, startmsg));
}
FOR_EACH_MONSTER(head)
FOR_EACH_PLAYER(tail)
{
if(starting)
- Send_CSQC_Centerprint_Generic(tail, CPID_KH_MSG, "Protect the generator from waves of monsters!", 0, 0);
+ centerprint(tail, "Protect the generator from waves of monsters!");
else
- Send_CSQC_Centerprint_Generic(tail, CPID_KH_MSG, ((wave_count >= max_waves) ? "Level victory!" : "Wave victory!"), 0, 0);
+ centerprint(tail, ((wave_count >= max_waves) ? "Level victory!" : "Wave victory!"));
}
if not(starting)
entity head;
FOR_EACH_PLAYER(head)
{
- Send_CSQC_Centerprint_Generic(head, CPID_MINSTA_FINDAMMO, "All the zombies have been exterminated! Prepare for round 2!", 0, 0);
+ centerprint(head, "All the zombies have been exterminated! Prepare for round 2!");
}
roundcnt += 1;