if(other.cvar_chase_active > 0 || other.classname == "observer") // the classname check prevents a bug\r
{\r
Client_setmodel(setmodel_state());\r
- if not(self.predator.classname == "player")\r
+ if not(self.predator.classname == "player" || self.fakeprey)\r
self.alpha = default_player_alpha;\r
return TRUE;\r
}\r
if(other.spectatee_status)\r
other = other.enemy; // also do this for the player we are spectating\r
- if(other.predator == self)\r
+ if(other.predator == self || other.fakepredator == self)\r
{\r
applymodel = strcat(substring(self.playermodel, 0, strlen(self.playermodel) - 4), "_stomach.md3"); // 4 is the extension length\r
Client_setmodel(applymodel);\r
return TRUE;\r
}\r
Client_setmodel(setmodel_state());\r
- if not(self.predator.classname == "player")\r
+ if not(self.predator.classname == "player" || self.fakeprey)\r
self.alpha = default_player_alpha;\r
return TRUE;\r
}\r
\r
SetCustomizer(self, Client_customizeentityforclient, Client_uncustomizeentityforclient);\r
\r
+ Vore_DeadPrey_Detach(self);\r
+\r
self.model = "";\r
FixPlayermodel();\r
\r
\r
// reset fields the weapons may use\r
for (j = WEP_FIRST; j <= WEP_LAST; ++j)\r
+ {\r
weapon_action(j, WR_RESETPLAYER);\r
\r
+ // all weapons must be fully loaded when we spawn\r
+ entity e;\r
+ e = get_weaponinfo(j);\r
+ if(e.spawnflags & WEP_FLAG_RELOADABLE) // prevent accessing undefined cvars\r
+ self.weapon_load[j] = cvar(strcat("g_balance_", e.netname, "_reload_ammo"));\r
+ }\r
+\r
oldself = self;\r
self = spot;\r
activator = oldself;\r
remove(self);\r
return;\r
}\r
- if ((self.owner.BUTTON_CHAT && !self.owner.deadflag && self.owner.predator.classname != "player")\r
+ if ((self.owner.BUTTON_CHAT && !self.owner.deadflag && self.owner.predator.classname != "player" && self.owner.fakepredator.classname != "player")\r
#ifdef TETRIS\r
|| self.owner.tetris_on\r
#endif\r
return;\r
}\r
// setorigin(self, self.owner.origin + '0 0 15' + self.owner.maxs_z * '0 0 1'); // bandwidth hog. setattachment does this now\r
- if (self.owner.BUTTON_CHAT || self.owner.deadflag || self.owner.killindicator || self.owner.predator.classname == "player")\r
+ if (self.owner.BUTTON_CHAT || self.owner.deadflag || self.owner.killindicator || self.owner.predator.classname == "player" || self.owner.fakepredator.classname == "player")\r
self.model = "";\r
else\r
{\r
if(self.taunt_soundtime)\r
if(time > self.taunt_soundtime)\r
{\r
+ switch(self.taunt_soundtype)\r
+ {\r
+ case TAUNTTYPE_DEATH:\r
+ PlayerSound(self, playersound_taunt, CHAN_VOICE, VOICETYPE_AUTOTAUNT);\r
+ break;\r
+ case TAUNTTYPE_VOREPRED:\r
+ PlayerSound(self, playersound_pred, CHAN_VOICE, VOICETYPE_AUTOTAUNT);\r
+ break;\r
+ case TAUNTTYPE_VOREPREY:\r
+ PlayerSound(self, playersound_prey, CHAN_VOICE, VOICETYPE_AUTOTAUNT);\r
+ break;\r
+ default:\r
+ dprint("Incorrect autotaunt type\n");\r
+ break;\r
+ }\r
+\r
self.taunt_soundtime = 0;\r
- PlayerSound(self, playersound_taunt, CHAN_VOICE, VOICETYPE_AUTOTAUNT);\r
+ self.taunt_soundtype = 0;\r
}\r
\r
target_voicescript_next(self);\r