Bloodscourge
Moderator: Graf Zahl
- Janitor
- Persecution Complex
- Posts: 123
- Joined: Sun Jul 08, 2007 17:16
- Location: Not in Kansas anymore
Bloodscourge
I'd like to see support for A_MStaffTrack (from hexen) added. I believe this was used for the Bloodscourge, uit would make my seeker missles a little bit better.
- InsanityBringer
- Posts: 137
- Joined: Fri Jun 15, 2007 22:59
This one was WFDS'd over at the zdoom fourms, but until then, you can kind of use it. Provide sprites that look like missiles for MSP2A-D, and then create a decorate actor that inherits from MageStaffFX2. From here you can provide some of your own properities. For example, I used this before.
It doesn't work 100% right as it rips through non boss monsters. There is currently no way to stop that.
Code: Select all
Actor InsaneRocket2 : MageStaffFX2 replaces Rocket
{
Damage 20
+ROCKETTRAIL
seesound "weapons/rocklf"
deathsound "weapons/rocklx"
States
{
Death:
MISL B 8 bright A_Explode
MISL C 6 bright
MISL D 4 bright
stop
}
}
- Graf Zahl
- GZDoom Developer
- Posts: 7148
- Joined: Wed Jul 20, 2005 9:48
- Location: Germany
- Contact:
- Gez
- Developer
- Posts: 1399
- Joined: Mon Oct 22, 2007 16:47
And, during the cast call for Doom 2, these sounds would all be played in surround. If the mod is for Hexen or Heretic, it becomes even more disruptive to gameplay.
The wiki says
The wiki says
* BOSS
Actor is a boss, and has the following special properties:
* Plays See sound and Death sound at full volume (regardless of distance), and play these sounds in surround mode during the cast endgame.
* Cannot be squashed (normally instant death) by Heretic's powered-up Mace.
* Cannot be teleported by Hexen's Banishment Device.
* Cannot be pushed by items such as Hexen's Disc of Repulsion, or damaged by other monsters thrown at the boss by these items.
* Takes only one-quarter of the damage from Hexen's Wraithverge spirits, burns said spirit out faster than other monsters, and reflects them against the attacker if the boss also has the REFLECTIVE flag.
* Has a chance to resist Hexen's Arcs of Death.
* Does not take fire damage when indirectly affected by Hexen's Bloodscourge's projectiles.
- Enjay
- Developer
- Posts: 4723
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Can you not just remove the ripper flag from the inherited missile?
I'm going to guess no because I don't see the RIPPER flag on the projectile's code in the source so I guess the ripping is done elsewhere (the A_MStaffTrack?). No harm in trying though eh?
[edit] I've checked and, no, it doesn't work. [/edit]
Code: Select all
Actor InsaneRocket2 : MageStaffFX2 replaces Rocket
{
Damage 20
+ROCKETTRAIL
-RIPPER
seesound "weapons/rocklf"
deathsound "weapons/rocklx"
States
{
Death:
MISL B 8 bright A_Explode
MISL C 6 bright
MISL D 4 bright
stop
}
}
[edit] I've checked and, no, it doesn't work. [/edit]
- InsanityBringer
- Posts: 137
- Joined: Fri Jun 15, 2007 22:59
I found this in the source code.
This is what appears to make it rip through non-boss actors
Code: Select all
int AMageStaffFX2::SpecialMissileHit (AActor *victim)
{
if (victim != target &&
!victim->player &&
!(victim->flags2 & MF2_BOSS))
{
P_DamageMobj (victim, this, target, 10, NAME_Fire);
return 1; // Keep going
}
return -1;
}
- .+:icytux:+.
- Stronghold Team
- Posts: 399
- Joined: Mon Nov 05, 2007 21:50
- Location: Finlando
- InsanityBringer
- Posts: 137
- Joined: Fri Jun 15, 2007 22:59
I'm pretty sure that just affects the active noise. To fix the full volume death/see noise you could possibly play the sounds yourself using A_PlaySound or something like that. An example
That should work.
EDIT:The latest SVN versions have the A_MStaffTrack function exported to decorate (however, you can only use it if you inherit from MageStaffFX2, so you still get the ripping effect). This means you can now do a custom spawn state
Code: Select all
Actor NotFullVolGuy : Zombieman
{
+BOSS
SeeSound "<insert generic null sound here>"
DeathSoundSound "<insert generic null sound here>"
States
{
Spawn:
POSS AB 10 A_LookEx(0,0,0,0,0,"PlaySeeSound")
Loop
PlaySeeSound:
POSS A 0 A_PlaySound("Grunt/sight")
Goto See
Death:
POSS H 5
POSS I 5 A_PlaySound("Grunt/Death")
POSS J 5 A_NoBlocking
POSS K 5
POSS L -1
stop
}
}
EDIT:The latest SVN versions have the A_MStaffTrack function exported to decorate (however, you can only use it if you inherit from MageStaffFX2, so you still get the ripping effect). This means you can now do a custom spawn state