mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-01 00:21:43 +00:00
- Added Karate Chris's poison cloud fix.
SVN r1647 (trunk)
This commit is contained in:
parent
88e2e36a03
commit
93742aca31
4 changed files with 12 additions and 6 deletions
|
@ -1,4 +1,7 @@
|
||||||
June 6, 2009
|
June 7, 2009 (Changes by Graf Zahl)
|
||||||
|
- Added Karate Chris's poison cloud fix.
|
||||||
|
|
||||||
|
June 6, 2009
|
||||||
- Added per-tier texture scaling with these new UDMF sidedef properties:
|
- Added per-tier texture scaling with these new UDMF sidedef properties:
|
||||||
* scalex_top
|
* scalex_top
|
||||||
* scaley_top
|
* scaley_top
|
||||||
|
|
|
@ -274,9 +274,10 @@ int APoisonCloud::DoSpecialDamage (AActor *victim, int damage)
|
||||||
{
|
{
|
||||||
P_PoisonDamage (victim->player, this,
|
P_PoisonDamage (victim->player, this,
|
||||||
15+(pr_poisoncloudd()&15), false); // Don't play painsound
|
15+(pr_poisoncloudd()&15), false); // Don't play painsound
|
||||||
P_PoisonPlayer (victim->player, this, this->target, 50);
|
|
||||||
|
|
||||||
S_Sound (victim, CHAN_VOICE, "*poison", 1, ATTN_NORM);
|
// If successful, play the posion sound.
|
||||||
|
if (P_PoisonPlayer (victim->player, this, this->target, 50))
|
||||||
|
S_Sound (victim, CHAN_VOICE, "*poison", 1, ATTN_NORM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -1388,11 +1388,11 @@ bool AActor::OkayToSwitchTarget (AActor *other)
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
void P_PoisonPlayer (player_t *player, AActor *poisoner, AActor *source, int poison)
|
bool P_PoisonPlayer (player_t *player, AActor *poisoner, AActor *source, int poison)
|
||||||
{
|
{
|
||||||
if((player->cheats&CF_GODMODE) || (player->mo->flags2 & MF2_INVULNERABLE))
|
if((player->cheats&CF_GODMODE) || (player->mo->flags2 & MF2_INVULNERABLE))
|
||||||
{
|
{
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
if (source != NULL && source->player != player && player->mo->IsTeammate (source))
|
if (source != NULL && source->player != player && player->mo->IsTeammate (source))
|
||||||
{
|
{
|
||||||
|
@ -1407,6 +1407,7 @@ void P_PoisonPlayer (player_t *player, AActor *poisoner, AActor *source, int poi
|
||||||
player->poisoncount = 100;
|
player->poisoncount = 100;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
@ -1490,6 +1491,7 @@ void P_PoisonDamage (player_t *player, AActor *source, int damage,
|
||||||
P_SetMobjState(target, target->info->painstate);
|
P_SetMobjState(target, target->info->painstate);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CheckCheatmode ();
|
bool CheckCheatmode ();
|
||||||
|
|
|
@ -449,7 +449,7 @@ extern FBlockNode** blocklinks; // for thing chains
|
||||||
void P_TouchSpecialThing (AActor *special, AActor *toucher);
|
void P_TouchSpecialThing (AActor *special, AActor *toucher);
|
||||||
void P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags=0);
|
void P_DamageMobj (AActor *target, AActor *inflictor, AActor *source, int damage, FName mod, int flags=0);
|
||||||
bool P_GiveBody (AActor *actor, int num);
|
bool P_GiveBody (AActor *actor, int num);
|
||||||
void P_PoisonPlayer (player_t *player, AActor *poisoner, AActor *source, int poison);
|
bool P_PoisonPlayer (player_t *player, AActor *poisoner, AActor *source, int poison);
|
||||||
void P_PoisonDamage (player_t *player, AActor *source, int damage, bool playPainSound);
|
void P_PoisonDamage (player_t *player, AActor *source, int damage, bool playPainSound);
|
||||||
|
|
||||||
enum EDmgFlags
|
enum EDmgFlags
|
||||||
|
|
Loading…
Reference in a new issue