Please Log in or Create an account to join the conversation.
Fallen, Female Scientist, Flamer Zombie, Fleshspawn, Flesh Wizard, Former Scientists 1 and 2, Freezer Zombie, Fusion Spider, Ghoul, Grell, Guardian Cube, Hangman, Hazmat Zombie, Hectebus, Helemental, Hell Apprentice, Hellion, Hell's Fury, Hellsmith, Hell Warrior, Hierophant, Inferno, Karasawa Zombie, Lord of Heresy, Machine Gun Zombie, Mauler Demon, Medusa, Minigunner, Nightmare and Nightshade.
https://www.dropbox.com/s/9uqcongibfryymf/ZScriptification-Beastiary-FthroughN.zip?dl=0
As before, please make sure things work the way they're supposed to and it doesn't complain about deprecated things (I think I got them all). Everything should work the same as before, except for:
- Flamer Zombie: Fixed a broken association with its dynamic lights and ogg'd its sounds.
- Zombie Scientist 4: Just a note, it uses (0.1)*Random(-3, 3) in projectile pitch which doesn't actually work, I believe. It should probably be changed to FRandom, but I left it as is because I'm not 100% sure about it.
- Freezer Zombie: Commented out the Freezer drop, fixed a broken dynamic light association and converted sounds to ogg. For some reason, the sprites don't want to convert to png.
- Grell: I asked Xaser if he wanted to switch from an A_RadiusGive hack and he said yes. I made this change to the old Decorate as well, and left the A_RadiusGive version as a comment.
- Hell Apprentice: The tracer attack now transfers pointers to the trail, so obituary works correctly. Also tracked down the missing SmithGhost1 actor and added it.
- Hellsmith: Like with the Apprentice, tracer attacks now transfer pointers to the trails, and also removed the extraneous SmithGhost1 actor.
- Inferno: I put together this routine for its death state so it doesn't disappear until its projectiles are gone, so obituaries from its death projectiles work properly.
- Mauler Demon: Changed it so the first A_Chase can't jump to Missile state. There's a small chance it could trip the infinite-loop detection if it jumps back and forth from Missile to See and back.
- Medusa: Original method I used for freezing a player (spawning a solid but non-shootable actor inside him) doesn't work anymore, so it now gives a 0.0 speed powerup. I fixed both the Decorate and ZScript versions.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
Brightmap 'BMFALNM0' not found in texture 'FALNM0'
Ghoul.zip:ghoul.wad:ZSCRIPT, line 20: Deprecated flag 'DONTHURTSPECIES' used
1 warnings while compiling Ghoul.zip:ghoul.wad:ZSCRIPT
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 48:
Call to deprecated function A_CustomMissile
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 48:
Accessing deprecated function A_CustomMissile - deprecated since 2.3.0
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 49:
Call to deprecated function A_CustomMissile
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 49:
Accessing deprecated function A_CustomMissile - deprecated since 2.3.0
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 58:
Call to deprecated function A_CustomMissile
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 58:
Accessing deprecated function A_CustomMissile - deprecated since 2.3.0
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 94:
Call to deprecated function A_CustomMissile
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 94:
Accessing deprecated function A_CustomMissile - deprecated since 2.3.0
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 96:
Call to deprecated function A_CustomMissile
Script warning, "Ghoul.zip:ghoul.wad:ZSCRIPT" line 96:
Accessing deprecated function A_CustomMissile - deprecated since 2.3.0
Goto Missile+3
MEDU A 0 A_Jump(96, "Gaze")
if( CheckIfCloser(target, 384) && !Random(0, 2) ) //1 in 3 is not *quite* 96/256, but close enough for me.
Random() < 96
Zombie Scientist 4: Just a note, it uses (0.1)*Random(-3, 3) in projectile pitch which doesn't actually work, I believe. It should probably be changed to FRandom, but I left it as is because I'm not 100% sure about it.
Inferno: I put together this routine for its death state so it doesn't disappear until its projectiles are gone, so obituaries from its death projectiles work properly.
Mauler Demon: Changed it so the first A_Chase can't jump to Missile state. There's a small chance it could trip the infinite-loop detection if it jumps back and forth from Missile to See and back.
See:
MAUD AABBCCDD 2
{
statelabel st = null;
if (CheckIfCloser(target, 224))
{
st = "Missile";
}
A_Chase("Melee", st);
}
Loop;
...
Missile:
MAUD E 4 A_FaceTarget();
MAUD F 10 A_SkullAttack();
MAUD G 5 A_Gravity();
Goto See;
Please Log in or Create an account to join the conversation.
Here's a different approach if you're interested.
Please Log in or Create an account to join the conversation.
HazmatZombie: There is no ZScript code to review. You must have mistakenly included the unmodified version.
Hellsmith: Line 566: the flag passed to A_SpawnItemEx is SXF_CLIENTSIDE, but in the DECORATE code, it's SXF_ABSOLUTEVELOCITY (bit flag = 8).
Random() < 96
You could make the monster stay after death instead of disappearing, and set the DONTGIB flag on it, so that it doesn't turn into a pile of gibs if it died under a crusher or a closing door.
Please Log in or Create an account to join the conversation.
I removed SXF_AbsoluteVelocity because the actor being spawned wasn't given any velocity, so the flag wasn't even really being used. The actor itself was just a trail that didn't do anything, gameplay-wise, so I client-sided it as well.
Yeah, but I'd also like to leave this as an example. If you think I should just make it stay, though, I'll do that.
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.