header general

[Submission] Spirit Staff

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Wicked
  • Wicked
More
1 year 5 months ago - 1 year 1 month ago #1 by doomedarchviledemon
[Submission] Spirit Staff was created by doomedarchviledemon
Name: Spirit Staff
Class: 2
Type: Light/Healing/Tracer
Palette: Custom
Summon: SpiritStaff
Ammo Type: StaffOrbAmmo
Powered Mode: No
Added States: No

Submitted: TheDoomedArchvile
Decorate: TheDoomedArchvile
GLDefs: TheDoomedArchvile
Sounds: Hexen, Freesounds
Sprites: Hexen, Neoworm, Gothic
Sprite Edit: TheDoomedArchvile, Gothic
Idea Base: Healing and light utility weapon with a powerful attack
ACS: Yes

Description: The Spirit Staff is a very tall staff that absorbs the spiritual energies around the caster. When the caster holds the staff in front of them it will slowly absorb energy while lighting the area around them. Additionally, every time the orb absorbs energy it will heal the caster a tiny bit at a time. Once the orb is filled with enough energy the caster can fire the orb and release the trapped spirits within. The spirits inside the orb will be released over a series of five pulses, haunting any enemies that are within the area. It can be very useful in an area with a lot of enemies, but not at all reliable for constant use. It is more useful as a tool for exploring dark caverns and healing old wounds than anything else.

Note: I am having an issue with the altfire where I am trying to have it check if the player has a certain amount of ammo to use the altfire, and if not to jump to a message saying that it needs more energy to use. I tried to use the CountInv thing but I am not sure if I am doing it right? May I please have some help with this?


Spirit Staff
Last edit: 1 year 1 month ago by doomedarchviledemon.

Please Log in or Create an account to join the conversation.

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 5 months ago - 1 year 5 months ago #2 by Gothic
Replied by Gothic on topic [Submission] Spirit Staff
For the print problem, I tried giving the weapon the flag WEAPON.ALT_AMMO_OPTIONAL, and instead of using A_JumpIf, use A_JumpIfNoAmmo.
My problem with this weapon is how slow it is to charge, even if it heals you and the attack is powerful, it's very inconvenient to use over regular health pickups. You should reduce the number of frames, like this:
Code:
Fire:             ORBS BBB 3             ORBS CCC 1 A_SpawnItemEX("StaffLight1",10,0,40,0,0,0,0)             ORBS DDD 1 BRIGHT A_SpawnItemEX("StaffLight2",10,0,40,0,0,0,0)             ORBS EEE 1 BRIGHT A_SpawnItemEX("StaffLight3",10,0,40,0,0,0,0)             Goto Hold         Hold:             TNT1 A 0 A_PlaySound("Weapon/PULSE", CHAN_AUTO, 0.1)             ORBS FFF 1 BRIGHT A_SpawnItemEX("StaffLight4",10,0,40,0,0,0,0) //Brightest point             ORBS GGG 1 BRIGHT A_SpawnItemEX("StaffLight5",10,0,40,0,0,0,0)             ORBS HHH 1 BRIGHT A_SpawnItemEX("StaffLight6",10,0,40,0,0,0,0)             ORBS III 1 BRIGHT A_SpawnItemEX("StaffLight7",10,0,40,0,0,0,0)             ORBS JJJ 1 BRIGHT A_SpawnItemEX("StaffLight8",10,0,40,0,0,0,0)             TNT1 A 0 DamageThing(-1)             TNT1 A 0 A_GiveInventory("SpiritOrbAmmo", 1)             TNT1 A 0 A_ReFire             ORBS EEE 1 BRIGHT A_SpawnItemEX("StaffLight3",10,0,40,0,0,0,0) //Glowing down             ORBS DDD 1 BRIGHT A_SpawnItemEX("StaffLight2",10,0,40,0,0,0,0)             ORBS CCC 1 BRIGHT A_SpawnItemEX("StaffLight1",10,0,40,0,0,0,0)             ORBS BBB 3             Goto Ready         AltFire:             TNT1 A 0 A_JumpIfNoAmmo("EnergyMessage")             ORBS BB3             TNT1 A 0 A_PlaySound("Weapon/Orbshot", CHAN_AUTO, 1)             TNT1 A 0 A_Quake(1,72,0,15,'')             ORBS CCCCCCCCCCCCCCCCCCCCCCCC 1 BRIGHT A_SpawnItemEX("StaffLight1",10,0,40,0,0,0,0)             ORBS DDDDDDDDDDDDDDDDDDDDDDDD 1 BRIGHT A_SpawnItemEX("StaffLight2",10,0,40,0,0,0,0)             ORBS EEEEEEEEEEEEEEEEEEEEEEEE 1 BRIGHT A_SpawnItemEX("StaffLight3",10,0,40,0,0,0,0)             TNT1 A 0 A_FireProjectile("StaffOrb",0,100,0,5, FPF_AIMATANGLE)             ORBS KKKK 4             ORBS LLLL 4             ORBS MMOPQ 3             Goto Ready

When I read that it "absorbs the spiritual energies around the caster", I though it had some kind of vampiric power to absorb health from enemies, or some other kind of radius damage effect, which would've given it more utility.
As for graphics, the Ready sprite offsets should be moved a little so it doesn't cover too much of the screen, and it looks better on its Select and Deselect animations. Try moving them to (-142,-88).
I have 3 other suggestions:
  • The pickup sprite uses transparent PNGs for the glowing animation, but it doesn't show up correctly on software mode. Here's an edit I made that changes the size of the glow instead of fading:
  • The spirit sprites should have a more blue-ish tone so they fit with the color of the orb, like this:
  • The HUD icon for the ammo is too big, it should be smaller, like this:
Last edit: 1 year 5 months ago by Gothic.

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Wicked
  • Wicked
More
1 year 5 months ago #3 by doomedarchviledemon
Replied by doomedarchviledemon on topic [Submission] Spirit Staff
Ah, okay. I was trying the A_JumpIfNoAmmo before and a few other flags, but I don't think I used the WEAPON.ALT_AMMO_OPTIONAL flag before. That fixed this issue, thank you very much!

The sprites have been updated and fixed. A silly little thing, I didn't even know that there was a Software rendering option lol. I have always had Gzdoom settings set to Hardware Accelerated. I'll try to remember about this the next time I create something with sprites that have transparency included. Though on that point, I didn't experience this issue with frames ORBSM0 to ORBSQ0, when the orb reappears on the staff after it is fired, which also has transparency on them. Is there a reason for this?

As for your main issue with the weapon being how slow it charges, I was keeping that lower on purpose because I didn't want this weapon to be overpowered. My thought process is that even if a weapon heals for a very small amount at a time, if it doesn't cost anything to gain that health, ie. no need to use ammo or target/hit enemies to regain health, that automatically makes it very powerful because it's free health; unlike weapons such as the Demonic Leech and Baphomet's Heart. The player will always have access to health no matter where they are for free with this weapon, so having it heal a small amount at a slower rate I felt offset it from being overpowered. Having it heal the player as quickly as your change does seems much too powerful for a free health gain to me.

I'm also approaching this weapon in a more Hexen style mindset where a player would need to backtrack and really explore some areas multiple times, sometimes even getting lost because Hexen is that kind of game where that tends to happen lol. Not a weapon to actively use in battle, but more for exploration and maybe being a useful trump card in the back pocket when the player really needs it. But that's how am approaching this weapon. I am open to change it but wanted to give a little more insight into my process before doing so. Is this still something you feel would be better to have being faster or keep it the same?

I did change the glow up and glow down speed a bit but kept the pulse rate the same for now. It heals every second to half a second. If we want to keep the healing rate the same I could instead boost the amount of ammo it gives per pulse to 2 to make the actual attack more readily available?

Please Log in or Create an account to join the conversation.

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 4 months ago - 1 year 4 months ago #4 by Gothic
Replied by Gothic on topic [Submission] Spirit Staff

Though on that point, I didn't experience this issue with frames ORBSM0 to ORBSQ0, when the orb reappears on the staff after it is fired, which also has transparency on them. Is there a reason for this?

 
HUD sprites show in true-color regardless of video settings.

If we want to keep the healing rate the same I could instead boost the amount of ammo it gives per pulse to 2 to make the actual attack more readily available?

 
Maybe make it use 50 ammo instead of 100.
I also suggest using a script call instead of the Print function, as it can be modified so it doesn't get logged on the console multiple times:
Code:
EnergyMessage:             ORBS A 1 ACS_NamedExecute("No Ammo Message",0,0,0,0)             Goto Ready

Code:
#library "yourlibrary" #include "zcommon.acs" Script "No Ammo Message" (void) {     HudMessage(s:"Not enough energy";HUDMSG_FADEOUT|HUDMSG_NOTWITHFULLMAP,-60,CR_UNTRANSLATED,0.5,0.85,0.2,0.2); }

The lights spawned while healing need the DONTSPLASH flag.
Also this may be just me, but the long line of Es at the start of the Hold state should be moved more to the end. I think it would feel better if you're still holding the fire button, but want to stop or switch out and you accidentally fire again, like this:
Code:
Hold:             TNT1 A 0 A_PlaySound("Weapon/PULSE", CHAN_AUTO, 0.1)             ORBS FFF 1 BRIGHT A_SpawnItemEX("StaffLight4",10,0,40,0,0,0,0) //Brightest point             ORBS GGG 1 BRIGHT A_SpawnItemEX("StaffLight5",10,0,40,0,0,0,0)             ORBS HHH 1 BRIGHT A_SpawnItemEX("StaffLight6",10,0,40,0,0,0,0)             ORBS III 1 BRIGHT A_SpawnItemEX("StaffLight7",10,0,40,0,0,0,0)             ORBS JJJ 1 BRIGHT A_SpawnItemEX("StaffLight8",10,0,40,0,0,0,0)             TNT1 A 0 DamageThing(-1)             TNT1 A 0 A_GiveInventory("SpiritOrbAmmo", 1)             ORBS EEEEEEEEEEEEEEEEEEEEEEEEEEEEEE 1 BRIGHT A_SpawnItemEX("StaffLight3",10,0,40,0,0,0,0)             TNT1 A 0 A_ReFire
Last edit: 1 year 4 months ago by Gothic.

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Wicked
  • Wicked
More
1 year 4 months ago #5 by doomedarchviledemon
Replied by doomedarchviledemon on topic [Submission] Spirit Staff
Thank you for the feedback, I will update when I can. I am currently having an issue on my main PC so I am unable to work on this for the time being. But when I get it fixed I'll include the mentioned changes.

Please Log in or Create an account to join the conversation.

  • inkoalawetrust
  • inkoalawetrust's Avatar
  • Moderator
  • Moderator
More
1 year 2 months ago #6 by inkoalawetrust
Replied by inkoalawetrust on topic [Submission] Spirit Staff
Any progress with the changes yet ?

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Wicked
  • Wicked
More
1 year 2 months ago #7 by doomedarchviledemon
Replied by doomedarchviledemon on topic [Submission] Spirit Staff
Unfortunately not yet. I am still having issues with my main computer but am hoping to get it looked at within the next couple of weeks. I apologize for the delay and will update it properly when I am able to do so.

Please Log in or Create an account to join the conversation.

  • doomedarchviledemon
  • doomedarchviledemon's Avatar Topic Author
  • Wicked
  • Wicked
More
1 year 1 month ago #8 by doomedarchviledemon
Replied by doomedarchviledemon on topic [Submission] Spirit Staff
I am finally back now with my computer fixed! With this I have been able to get back onto this weapon and update it to include all of the points of feedback. Does this feel a little better to play now? Please let me know if you have any additional feedback or suggestions. ^_^

Please Log in or Create an account to join the conversation.

  • Gothic
  • Gothic's Avatar
  • Moderator
  • Moderator
More
1 year 1 month ago - 1 year 1 month ago #9 by Gothic
Replied by Gothic on topic [Submission] Spirit Staff
Good job. Added
Last edit: 1 year 1 month ago by Gothic.

Please Log in or Create an account to join the conversation.