mirror of
https://github.com/ZDoom/Raze.git
synced 2025-04-23 00:11:03 +00:00
- monsterweapon
This commit is contained in:
parent
d9ad0661f7
commit
56494526d5
3 changed files with 27 additions and 25 deletions
|
@ -995,23 +995,25 @@ boolean checksight(PLAYER& plr, DWHActor* actor) {
|
|||
return false;
|
||||
}
|
||||
|
||||
void monsterweapon(int i) {
|
||||
void monsterweapon(DWHActor* actor) {
|
||||
|
||||
if (sprite[i].shade > 20)
|
||||
auto& spr = actor->s();
|
||||
|
||||
if (spr.shade > 20)
|
||||
return;
|
||||
|
||||
if (sprite[i].picnum == SKELETONDEAD || sprite[i].picnum == KOBOLDDEAD)
|
||||
if (spr.picnum == SKELETONDEAD || spr.picnum == KOBOLDDEAD)
|
||||
return;
|
||||
|
||||
if ((krand() % 100) < 75)
|
||||
return;
|
||||
|
||||
auto spawnedactor = InsertActor(sprite[i].sectnum, (short)0);
|
||||
auto spawnedactor = InsertActor(spr.sectnum, (short)0);
|
||||
auto& weap = spawnedactor->s();
|
||||
|
||||
weap.x = sprite[i].x;
|
||||
weap.y = sprite[i].y;
|
||||
weap.z = sprite[i].z - (24 << 8);
|
||||
weap.x = spr.x;
|
||||
weap.y = spr.y;
|
||||
weap.z = spr.z - (24 << 8);
|
||||
weap.shade = -15;
|
||||
weap.cstat = 0;
|
||||
weap.cstat &= ~3;
|
||||
|
@ -1024,7 +1026,7 @@ void monsterweapon(int i) {
|
|||
weap.xrepeat = 25;
|
||||
weap.yrepeat = 20;
|
||||
|
||||
switch (sprite[i].picnum) {
|
||||
switch (spr.picnum) {
|
||||
case NEWGUYDEAD:
|
||||
weap.xrepeat = 25;
|
||||
weap.yrepeat = 20;
|
||||
|
@ -1119,11 +1121,11 @@ void monsterweapon(int i) {
|
|||
weap.detail = GOBWEAPONTYPE;
|
||||
break;
|
||||
default:
|
||||
if (sprite[i].picnum == GRONDEAD) {
|
||||
if (spr.picnum == GRONDEAD) {
|
||||
if (netgame) {
|
||||
weap.x = sprite[i].x;
|
||||
weap.y = sprite[i].y;
|
||||
weap.z = sprite[i].z - (24 << 8);
|
||||
weap.x = spr.x;
|
||||
weap.y = spr.y;
|
||||
weap.z = spr.z - (24 << 8);
|
||||
weap.shade = -15;
|
||||
weap.cstat = 0;
|
||||
weap.cstat &= ~3;
|
||||
|
|
|
@ -134,7 +134,7 @@ boolean checkdist(PLAYER& plr, DWHActor* actor);
|
|||
boolean checkdist(DWHActor* actor, int x, int y, int z);
|
||||
extern int checksight_ang;
|
||||
boolean checksight(PLAYER& plr, DWHActor* actor);
|
||||
void monsterweapon(int i);
|
||||
void monsterweapon(DWHActor*);
|
||||
PLAYER* aiGetPlayerTarget(short i);
|
||||
boolean actoruse(short i);
|
||||
|
||||
|
|
|
@ -1127,7 +1127,7 @@ void newstatus(short sn, int seq) {
|
|||
ChangeActorStat(actor, DEAD);
|
||||
if(isWh2()) {
|
||||
addscore(aiGetPlayerTarget(sn), 70);
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
}
|
||||
} else if(spr.picnum == FISH || spr.picnum == RAT) {
|
||||
spr.cstat &= ~3;
|
||||
|
@ -1155,7 +1155,7 @@ void newstatus(short sn, int seq) {
|
|||
} else {
|
||||
addscore(aiGetPlayerTarget(sn), 200);
|
||||
}
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
} else {
|
||||
switch (spr.picnum) {
|
||||
case GONZOBSHDEAD:
|
||||
|
@ -1171,7 +1171,7 @@ void newstatus(short sn, int seq) {
|
|||
} else {
|
||||
ChangeActorStat(actor, DEAD);
|
||||
if (spr.shade < 25)
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
}
|
||||
addscore(aiGetPlayerTarget(sn), 85);
|
||||
break;
|
||||
|
@ -1186,7 +1186,7 @@ void newstatus(short sn, int seq) {
|
|||
deaddude(sn);
|
||||
} else {
|
||||
ChangeActorStat(actor, DEAD);
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
}
|
||||
addscore(aiGetPlayerTarget(sn), 55);
|
||||
break;
|
||||
|
@ -1201,7 +1201,7 @@ void newstatus(short sn, int seq) {
|
|||
deaddude(sn);
|
||||
} else {
|
||||
ChangeActorStat(actor, DEAD);
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
}
|
||||
addscore(aiGetPlayerTarget(sn), 105);
|
||||
break;
|
||||
|
@ -1216,7 +1216,7 @@ void newstatus(short sn, int seq) {
|
|||
deaddude(sn);
|
||||
} else {
|
||||
ChangeActorStat(actor, DEAD);
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
}
|
||||
addscore(aiGetPlayerTarget(sn), 100);
|
||||
break;
|
||||
|
@ -1227,7 +1227,7 @@ void newstatus(short sn, int seq) {
|
|||
spr.picnum = NEWGUYDEAD;
|
||||
spr.cstat &= ~3;
|
||||
ChangeActorStat(actor, DEAD);
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
addscore(aiGetPlayerTarget(sn), 50);
|
||||
break;
|
||||
case GONZOGSHDEAD:
|
||||
|
@ -1243,7 +1243,7 @@ void newstatus(short sn, int seq) {
|
|||
deaddude(sn);
|
||||
} else {
|
||||
ChangeActorStat(actor, DEAD);
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
}
|
||||
addscore(aiGetPlayerTarget(sn), 110);
|
||||
break;
|
||||
|
@ -1265,7 +1265,7 @@ void newstatus(short sn, int seq) {
|
|||
spr.cstat &= ~3;
|
||||
ChangeActorStat(actor, DEAD);
|
||||
addscore(aiGetPlayerTarget(sn), 115);
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
break;
|
||||
case KOBOLDDEAD:
|
||||
spr.picnum = KOBOLDDEAD;
|
||||
|
@ -1286,7 +1286,7 @@ void newstatus(short sn, int seq) {
|
|||
ChangeActorStat(actor, DEAD);
|
||||
addscore(aiGetPlayerTarget(sn), isWh2() ? 70 : 50);
|
||||
if(isWh2())
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
break;
|
||||
case FREDDEAD:
|
||||
spr.picnum = FREDDEAD;
|
||||
|
@ -1300,7 +1300,7 @@ void newstatus(short sn, int seq) {
|
|||
ChangeActorStat(actor, DEAD);
|
||||
addscore(aiGetPlayerTarget(sn), 25);
|
||||
if ((rand() % 100) > 60)
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
break;
|
||||
case MINOTAURDEAD:
|
||||
spr.picnum = MINOTAURDEAD;
|
||||
|
@ -1308,7 +1308,7 @@ void newstatus(short sn, int seq) {
|
|||
ChangeActorStat(actor, DEAD);
|
||||
addscore(aiGetPlayerTarget(sn), isWh2() ? 95 : 70);
|
||||
if ((rand() % 100) > 60)
|
||||
monsterweapon(sn);
|
||||
monsterweapon(actor);
|
||||
break;
|
||||
case SPIDERDEAD:
|
||||
spr.picnum = SPIDERDEAD;
|
||||
|
|
Loading…
Reference in a new issue