mirror of
https://github.com/ZDoom/Raze.git
synced 2025-02-20 18:42:26 +00:00
- removed all references to tgt_sp from ai.cpp, plus a few others found with search&replace.
This commit is contained in:
parent
b8b90d2825
commit
34d0c12b60
4 changed files with 25 additions and 22 deletions
|
@ -681,7 +681,7 @@ DoActorActionDecide(short SpriteNum)
|
|||
}
|
||||
|
||||
// if player is facing me and I'm being attacked
|
||||
if (FACING(sp, u->tgt_sp()) && TEST(u->Flags, SPR_ATTACKED) && ICanSee)
|
||||
if (Facing(actor, u->targetActor) && TEST(u->Flags, SPR_ATTACKED) && ICanSee)
|
||||
{
|
||||
// if I'm a target - at least one missile comming at me
|
||||
if (TEST(u->Flags, SPR_TARGETED))
|
||||
|
@ -745,7 +745,7 @@ DoActorActionDecide(short SpriteNum)
|
|||
dist = Distance(sp->x, sp->y, u->targetActor->s().x, u->targetActor->s().y);
|
||||
if (dist < 15000 || ICanSee)
|
||||
{
|
||||
if ((FACING(sp, u->tgt_sp()) && dist < 10000) || ICanSee)
|
||||
if ((Facing(actor, u->targetActor) && dist < 10000) || ICanSee)
|
||||
{
|
||||
DoActorOperate(actor);
|
||||
|
||||
|
@ -821,14 +821,14 @@ int DoActorDecide(DSWActor* actor)
|
|||
return 0;
|
||||
|
||||
// zombie is attacking a player
|
||||
if (actor_action == InitActorAttack && u->ID == ZOMBIE_RUN_R0 && User[u->tgt_sp()-sprite]->PlayerP)
|
||||
if (actor_action == InitActorAttack && u->ID == ZOMBIE_RUN_R0 && u->targetActor->u()->PlayerP)
|
||||
{
|
||||
// Don't let zombies shoot at master
|
||||
if (sp->owner == (u->tgt_sp() - sprite))
|
||||
if (sp->owner == u->targetActor->GetSpriteIndex())
|
||||
return 0;
|
||||
|
||||
// if this player cannot take damage from this zombie(weapon) return out
|
||||
if (!PlayerTakeDamage(User[u->tgt_sp()-sprite]->PlayerP, SpriteNum))
|
||||
if (!PlayerTakeDamage(u->targetActor->u()->PlayerP, SpriteNum))
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1314,25 +1314,24 @@ int InitActorAttack(DSWActor* actor)
|
|||
SPRITEp sp = User[SpriteNum]->SpriteP;
|
||||
|
||||
// zombie is attacking a player
|
||||
if (u->ID == ZOMBIE_RUN_R0 && User[u->tgt_sp()-sprite]->PlayerP)
|
||||
if (u->ID == ZOMBIE_RUN_R0 && u->targetActor->hasU() && u->targetActor->u()->PlayerP)
|
||||
{
|
||||
// Don't let zombies shoot at master
|
||||
if (sp->owner == (u->tgt_sp() - sprite))
|
||||
if (sp->owner == u->targetActor->GetSpriteIndex())
|
||||
return 0;
|
||||
|
||||
// if this player cannot take damage from this zombie(weapon) return out
|
||||
if (!PlayerTakeDamage(User[u->tgt_sp()-sprite]->PlayerP, SpriteNum))
|
||||
if (!PlayerTakeDamage(u->targetActor->u()->PlayerP, SpriteNum))
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (TEST(sprite[u->tgt_sp()-sprite].cstat, CSTAT_SPRITE_TRANSLUCENT))
|
||||
if (TEST(u->targetActor->s().cstat, CSTAT_SPRITE_TRANSLUCENT))
|
||||
{
|
||||
InitActorRunAway(actor);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (User[u->tgt_sp()-sprite].Data() &&
|
||||
User[u->tgt_sp()-sprite]->Health <= 0)
|
||||
if (u->targetActor->hasU() && u->targetActor->u()->Health <= 0)
|
||||
{
|
||||
DoActorPickClosePlayer(actor);
|
||||
InitActorReposition(actor);
|
||||
|
@ -1347,9 +1346,8 @@ int InitActorAttack(DSWActor* actor)
|
|||
|
||||
// if the guy you are after is dead, look for another and
|
||||
// reposition
|
||||
if (User[u->tgt_sp()-sprite].Data() &&
|
||||
User[u->tgt_sp()-sprite]->PlayerP &&
|
||||
TEST(User[u->tgt_sp()-sprite]->PlayerP->Flags, PF_DEAD))
|
||||
if (u->targetActor->hasU() && u->targetActor->u()->PlayerP &&
|
||||
TEST(u->targetActor->u()->PlayerP->Flags, PF_DEAD))
|
||||
{
|
||||
DoActorPickClosePlayer(actor);
|
||||
InitActorReposition(actor);
|
||||
|
@ -1365,7 +1363,7 @@ int InitActorAttack(DSWActor* actor)
|
|||
sp->ang = NORM_ANGLE(getangle(u->targetActor->s().x - sp->x, u->targetActor->s().y - sp->y));
|
||||
|
||||
// If it's your own kind, lay off!
|
||||
if (u->ID == User[u->tgt_sp() - sprite]->ID && !User[u->tgt_sp() - sprite]->PlayerP)
|
||||
if (u->ID == u->targetActor->u()->ID && !u->targetActor->u()->PlayerP)
|
||||
{
|
||||
InitActorRunAway(actor);
|
||||
return 0;
|
||||
|
|
|
@ -1042,8 +1042,8 @@ DoBunnyQuickJump(DSWActor* actor)
|
|||
|
||||
DoActorPickClosePlayer(actor);
|
||||
|
||||
if (User[u->tgt_sp()-sprite]->PlayerP)
|
||||
pp = User[u->tgt_sp()-sprite]->PlayerP;
|
||||
if (u->targetActor->u()->PlayerP)
|
||||
pp = u->targetActor->u()->PlayerP;
|
||||
|
||||
if (tu->spal != PALETTE_PLAYER0)
|
||||
{
|
||||
|
@ -1058,7 +1058,7 @@ DoBunnyQuickJump(DSWActor* actor)
|
|||
if (pp == Player+myconnectindex)
|
||||
{
|
||||
choose_snd = STD_RANDOM_RANGE(2<<8)>>8;
|
||||
if (FAFcansee(sp->x,sp->y,SPRITEp_TOS(sp),sp->sectnum,pp->posx, pp->posy, pp->posz, pp->cursectnum) && FACING(sp, u->tgt_sp()))
|
||||
if (FAFcansee(sp->x,sp->y,SPRITEp_TOS(sp),sp->sectnum,pp->posx, pp->posy, pp->posz, pp->cursectnum) && Facing(actor, u->targetActor))
|
||||
PlayerSound(fagsnds[choose_snd], v3df_doppler|v3df_follow|v3df_dontpan,pp);
|
||||
}
|
||||
}
|
||||
|
@ -1074,7 +1074,7 @@ DoBunnyQuickJump(DSWActor* actor)
|
|||
if (pp == Player+myconnectindex)
|
||||
{
|
||||
choose_snd = STD_RANDOM_RANGE(3<<8)>>8;
|
||||
if (FAFcansee(sp->x,sp->y,SPRITEp_TOS(sp),sp->sectnum,pp->posx, pp->posy, pp->posz, pp->cursectnum) && FACING(sp, u->tgt_sp()))
|
||||
if (FAFcansee(sp->x,sp->y,SPRITEp_TOS(sp),sp->sectnum,pp->posx, pp->posy, pp->posz, pp->cursectnum) && Facing(actor, u->targetActor))
|
||||
PlayerSound(straightsnds[choose_snd], v3df_doppler|v3df_follow|v3df_dontpan,pp);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -295,7 +295,6 @@ inline int SPRITEp_SIZE_BOS(const spritetype* sp)
|
|||
#define KENFACING_PLAYER(pp,sp) (bcos(sp->ang)*(pp->posy-sp->y) >= bsin(sp-ang)*(pp->posx-sp->x))
|
||||
#define FACING_PLAYER(pp,sp) (abs(getincangle(getangle((pp)->posx - (sp)->x, (pp)->posy - (sp)->y), (sp)->ang)) < 512)
|
||||
#define PLAYER_FACING(pp,sp) (abs(getincangle(getangle((sp)->x - (pp)->posx, (sp)->y - (pp)->posy), (pp)->angle.ang.asbuild())) < 320)
|
||||
#define FACING(sp1,sp2) (abs(getincangle(getangle((sp1)->x - (sp2)->x, (sp1)->y - (sp2)->y), (sp2)->ang)) < 512)
|
||||
|
||||
#define FACING_PLAYER_RANGE(pp,sp,range) (abs(getincangle(getangle((pp)->posx - (sp)->x, (pp)->posy - (sp)->y), (sp)->ang)) < (range))
|
||||
#define PLAYER_FACING_RANGE(pp,sp,range) (abs(getincangle(getangle((sp)->x - (pp)->posx, (sp)->y - (pp)->posy), (pp)->angle.ang.asbuild())) < (range))
|
||||
|
@ -2262,6 +2261,12 @@ inline int ActorMid(DSWActor* actor)
|
|||
return SPRITEp_MID(&actor->s());
|
||||
}
|
||||
|
||||
inline int Facing(DSWActor* actor1, DSWActor* actor2)
|
||||
{
|
||||
auto sp1 = &actor1->s();
|
||||
auto sp2 = &actor2->s();
|
||||
return (abs(getincangle(getangle((sp1)->x - (sp2)->x, (sp1)->y - (sp2)->y), (sp2)->ang)) < 512);
|
||||
}
|
||||
|
||||
END_SW_NS
|
||||
#endif
|
||||
|
|
|
@ -572,9 +572,9 @@ int DoCheckSwarm(DSWActor* actor)
|
|||
// Who's the closest meat!?
|
||||
DoActorPickClosePlayer(actor);
|
||||
|
||||
if (User[u->tgt_sp() - sprite]->PlayerP)
|
||||
if (u->targetActor->u()->PlayerP)
|
||||
{
|
||||
pp = User[u->tgt_sp() - sprite]->PlayerP;
|
||||
pp = u->targetActor->u()->PlayerP;
|
||||
DISTANCE(sp->x, sp->y, pp->posx, pp->posy, pdist, a, b, c);
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue