mirror of
https://github.com/ZDoom/Raze.git
synced 2025-04-04 23:12:15 +00:00
- exported all of Duke's pickup items.
This commit is contained in:
parent
7a699e032f
commit
4e0dad54a5
8 changed files with 305 additions and 114 deletions
|
@ -140,9 +140,6 @@ void animatesprites_d(tspriteArray& tsprites, const DVector2& viewVec, DAngle vi
|
|||
}
|
||||
break;
|
||||
|
||||
case DTILE_CRYSTALAMMO:
|
||||
t->shade = int(BobVal(PlayClock << 4) * 16);
|
||||
continue;
|
||||
case DTILE_GROWSPARK:
|
||||
t->picnum = DTILE_GROWSPARK + ((PlayClock >> 4) & 3);
|
||||
break;
|
||||
|
|
|
@ -71,26 +71,8 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
switch (act->spr.picnum)
|
||||
{
|
||||
case DTILE_FIREFLY:
|
||||
if (act->spr.picnum != DTILE_FIREFLY)
|
||||
{
|
||||
if (actj && isrespawncontroller(actj))
|
||||
act->spr.pal = actj->spr.pal;
|
||||
if (act->spr.pal != 0)
|
||||
{
|
||||
act->clipdist = 20;
|
||||
act->spr.scale = DVector2(0.625, 0.625);
|
||||
}
|
||||
else
|
||||
{
|
||||
act->spr.scale = DVector2(1.25, 1.25);
|
||||
act->clipdist = 41;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
act->spr.scale = DVector2(0.625, 0.625);
|
||||
act->clipdist = 20;
|
||||
}
|
||||
act->spr.scale = DVector2(0.625, 0.625);
|
||||
act->clipdist = 20;
|
||||
|
||||
if (actj)
|
||||
act->spr.lotag = 0;
|
||||
|
@ -287,88 +269,6 @@ DDukeActor* spawninit_d(DDukeActor* actj, DDukeActor* act, TArray<DDukeActor*>*
|
|||
|
||||
break;
|
||||
|
||||
case DTILE_FLAMETHROWERSPRITE:
|
||||
case DTILE_FLAMETHROWERAMMO: // Twentieth Anniversary World Tour
|
||||
if (!isWorldTour())
|
||||
break;
|
||||
[[fallthrough]];
|
||||
|
||||
case DTILE_STEROIDS:
|
||||
case DTILE_HEATSENSOR:
|
||||
case DTILE_SHIELD:
|
||||
case DTILE_AIRTANK:
|
||||
case DTILE_TRIPBOMBSPRITE:
|
||||
case DTILE_JETPACK:
|
||||
case DTILE_HOLODUKE:
|
||||
|
||||
case DTILE_FIRSTGUNSPRITE:
|
||||
case DTILE_CHAINGUNSPRITE:
|
||||
case DTILE_SHOTGUNSPRITE:
|
||||
case DTILE_RPGSPRITE:
|
||||
case DTILE_SHRINKERSPRITE:
|
||||
case DTILE_FREEZESPRITE:
|
||||
case DTILE_DEVISTATORSPRITE:
|
||||
|
||||
case DTILE_SHOTGUNAMMO:
|
||||
case DTILE_FREEZEAMMO:
|
||||
case DTILE_HBOMBAMMO:
|
||||
case DTILE_CRYSTALAMMO:
|
||||
case DTILE_GROWAMMO:
|
||||
case DTILE_DEVISTATORAMMO:
|
||||
case DTILE_RPGAMMO:
|
||||
case DTILE_BOOTS:
|
||||
case DTILE_AMMO:
|
||||
case DTILE_AMMOLOTS:
|
||||
case DTILE_COLA:
|
||||
case DTILE_FIRSTAID:
|
||||
if (actj)
|
||||
{
|
||||
act->spr.lotag = 0;
|
||||
act->spr.pos.Z -= 32;
|
||||
act->vel.Z = -4;
|
||||
ssp(act, CLIPMASK0);
|
||||
if (krand() & 4) act->spr.cstat |= CSTAT_SPRITE_XFLIP;
|
||||
}
|
||||
else
|
||||
{
|
||||
act->SetOwner(act);
|
||||
act->spr.cstat = 0;
|
||||
}
|
||||
|
||||
if ((ud.multimode < 2 && act->spr.pal != 0) || (act->spr.lotag > ud.player_skill))
|
||||
{
|
||||
act->spr.scale = DVector2(0, 0);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
|
||||
act->spr.pal = 0;
|
||||
[[fallthrough]];
|
||||
|
||||
case DTILE_ACCESSCARD:
|
||||
|
||||
if (ud.multimode > 1 && ud.coop != 1 && act->spr.picnum == DTILE_ACCESSCARD)
|
||||
{
|
||||
act->spr.scale = DVector2(0, 0);
|
||||
ChangeActorStat(act, STAT_MISC);
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (act->spr.picnum == DTILE_AMMO)
|
||||
act->spr.scale = DVector2(0.25, 0.25);
|
||||
else act->spr.scale = DVector2(0.5, 0.5);
|
||||
}
|
||||
|
||||
act->spr.shade = -17;
|
||||
|
||||
if (actj) ChangeActorStat(act, STAT_ACTOR);
|
||||
else
|
||||
{
|
||||
ChangeActorStat(act, STAT_ZOMBIEACTOR);
|
||||
makeitfall(act);
|
||||
}
|
||||
break;
|
||||
|
||||
case DTILE_FLOORFLAME:
|
||||
act->spr.shade = -127;
|
||||
|
|
|
@ -12,4 +12,8 @@ spawnclasses
|
|||
|
||||
5310 = DukeBoss5
|
||||
5311 = DukeBoss5Stayput
|
||||
|
||||
5134 = DukeFlamethrowerSprite
|
||||
5135 = DukeFlamethrowerAmmo
|
||||
|
||||
}
|
||||
|
|
|
@ -244,9 +244,40 @@ spawnclasses
|
|||
2310 = DukeBurning2
|
||||
1890 = DukeExplosion2
|
||||
2219 = DukeExplosion2Bot
|
||||
|
||||
46 = DukeCrystalAmmo
|
||||
55 = DukeSteroids
|
||||
59 = DukeHeatSensor
|
||||
54 = DukeShield
|
||||
56 = DukeAirtank
|
||||
27 = DukeTripbombSprite
|
||||
57 = DukeJetpack
|
||||
1348 = DukeHoloDuke
|
||||
21 = DukeFirstgunSprite
|
||||
28 = DukeShotgunSprite
|
||||
22 = DukeChaingunSprite
|
||||
23 = DukeRPGSprite
|
||||
25 = DukeShrinkerSprite
|
||||
24 = DukeFreezeSprite
|
||||
29 = DukeDevastatorSprite
|
||||
49 = DukeShotgunammo
|
||||
37 = DukeFreezeammo
|
||||
47 = DukeHBombammo
|
||||
45 = DukeGrowammo
|
||||
42 = DukeDevastatorammo
|
||||
44 = DukeRPGammo
|
||||
40 = DukeAmmo
|
||||
61 = DukeBoots
|
||||
48 = DukeAmmoLots
|
||||
51 = DukeCola
|
||||
53 = DukeFirstAid
|
||||
60 = DukeAccessCard
|
||||
|
||||
41 = DukeBatteryAmmo
|
||||
52 = DukeSixpak
|
||||
100 = DukeAtomicHealth
|
||||
|
||||
|
||||
1656 = DukeShrinkerExplosion
|
||||
661 = DukeWaterBubble
|
||||
2329 = DukeSmallSmoke
|
||||
|
|
|
@ -110,6 +110,7 @@ version "4.10"
|
|||
#include "zscript/games/duke/actors/smallsmoke.zs"
|
||||
#include "zscript/games/duke/actors/steam.zs"
|
||||
|
||||
#include "zscript/games/duke/actors/dukeitems.zs"
|
||||
#include "zscript/games/duke/actors/batteryammo.zs"
|
||||
#include "zscript/games/duke/actors/sixpak.zs"
|
||||
#include "zscript/games/duke/actors/atomichealth.zs"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
class DukeAtomicHealth : DukeActor
|
||||
class DukeAtomicHealth : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
|
@ -19,7 +19,7 @@ class DukeAtomicHealth : DukeActor
|
|||
}
|
||||
}
|
||||
|
||||
class RedneckGoogooCluster : DukeActor
|
||||
class RedneckGoogooCluster : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
|
|
263
wadsrc/static/zscript/games/duke/actors/dukeitems.zs
Normal file
263
wadsrc/static/zscript/games/duke/actors/dukeitems.zs
Normal file
|
@ -0,0 +1,263 @@
|
|||
class DukeItemBase : DukeActor
|
||||
{
|
||||
override void Initialize()
|
||||
{
|
||||
commonItemSetup();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class DukeCrystalAmmo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "CRYSTALAMMO";
|
||||
}
|
||||
|
||||
override bool animate(tspritetype t)
|
||||
{
|
||||
t.shade = int(Raze.BobVal(PlayClock << 4) * 16);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
class DukeFlamethrowerSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FLAMETHROWERSPRITE";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeFlamethrowerAmmo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FLAMETHROWERAMMO";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeSteroids : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "STEROIDS";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeHeatSensor : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "HEATSENSOR";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeShield : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "SHIELD";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeAirtank : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "AIRTANK";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeTripbombSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "TRIPBOMBSPRITE";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeJetpack : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "JETPACK";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeHoloDuke : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "HOLODUKE";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeFirstgunSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FIRSTGUNSPRITE";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeShotgunSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "SHOTGUNSPRITE";
|
||||
}
|
||||
}
|
||||
class DukeChaingunSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "CHAINGUNSPRITE";
|
||||
}
|
||||
}
|
||||
class DukeRPGSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "RPGSPRITE";
|
||||
}
|
||||
}
|
||||
class DukeShrinkerSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "SHRINKERSPRITE";
|
||||
}
|
||||
}
|
||||
class DukeFreezeSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FREEZESPRITE";
|
||||
}
|
||||
}
|
||||
class DukeDevastatorSprite : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "DEVISTATORSPRITE";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeShotgunammo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "SHOTGUNAMMO";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeFreezeammo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FREEZEAMMO";
|
||||
}
|
||||
}
|
||||
class DukeHBombammo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "HBOMBAMMO";
|
||||
}
|
||||
}
|
||||
class DukeGrowammo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "GROWAMMO";
|
||||
}
|
||||
}
|
||||
class DukeDevastatorammo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "DEVISTATORAMMO";
|
||||
}
|
||||
}
|
||||
class DukeRPGammo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "RPGAMMO";
|
||||
}
|
||||
}
|
||||
class DukeAmmo : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "AMMO";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
commonItemSetup((0.25, 0.25));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class DukeBoots : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "BOOTS";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeAmmoLots : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "AMMOLOTS";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeCola : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "COLA";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeFirstAid : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "FIRSTAID";
|
||||
}
|
||||
}
|
||||
|
||||
class DukeAccessCard : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "ACCESSCARD";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
if (ud.multimode > 1 && ud.coop != 1)
|
||||
{
|
||||
self.scale = (0, 0);
|
||||
self.ChangeStat(STAT_MISC);
|
||||
return;
|
||||
}
|
||||
|
||||
self.Scale = (0.5, 0.5);
|
||||
self.shade = -17;
|
||||
|
||||
if (!self.mapSpawned) self.ChangeStat(STAT_ACTOR);
|
||||
else
|
||||
{
|
||||
self.ChangeStat(STAT_ZOMBIEACTOR);
|
||||
self.makeitfall();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +1,12 @@
|
|||
class DukeSixpak : DukeActor
|
||||
class DukeSixpak : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
pic "SIXPAK";
|
||||
}
|
||||
|
||||
override void Initialize()
|
||||
{
|
||||
commonItemSetup();
|
||||
}
|
||||
}
|
||||
|
||||
class RedneckPorkRinds : DukeActor
|
||||
class RedneckPorkRinds : DukeItemBase
|
||||
{
|
||||
default
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue