Reaper Grimm
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Modifying Rocket splash for Zdoom
 
Author
All times are GMT. The time now is 13:04. Post New Thread    Post A Reply
TendaMonsta
Member


Posts: 305
Registered: 08-09


How would I go about doing this?

I want the splash damage to be less damaging so rocket jumping isn't lethal to your health.

__________________
My DemoPage

Old Post 04-27-14 22:25 #
TendaMonsta is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
scifista42
Senior Member


Posts: 2099
Registered: 05-12


A_Explode DECORATE function takes parameters damage and radius. What you want is to make a replacement actor for a Rocket in flight with different parameters in this function. If you're new to DECORATE, take a look here: DECORATE

Old Post 04-27-14 22:36 #
scifista42 is online now Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
TendaMonsta
Member


Posts: 305
Registered: 08-09


Thanks...
It just couldn't be easy could it. Probably going to spend days figuring this out.

__________________
My DemoPage

Old Post 04-27-14 23:21 #
TendaMonsta is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Necromancer-AMV
Junior Member


Posts: 163
Registered: 11-11


Gunlabs Tutorials by WildWeasel. Best Decorate tutorials.

Old Post 04-27-14 23:26 #
Necromancer-AMV is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
TendaMonsta
Member


Posts: 305
Registered: 08-09


Here's the problem.

The player isn't launched high at all when I lower "explosiondamage"
Increasing the radius does nothing



ACTOR Rocket
{
Game Doom
SpawnID 127
Radius 11
Height 8
Speed 20
Damage 20
Projectile
+RANDOMIZE
+DEHEXPLOSION
+ROCKETTRAIL
explosiondamage "25"
explosionradius "50"
SeeSound "weapons/rocklf"
DeathSound "weapons/rocklx"
Obituary "$OB_MPROCKET" // "%o rode %k's rocket."
States
{
Spawn:
MISL A 1 Bright
Loop
Death:
MISL B 8 Bright A_Explode
MISL C 6 Bright
MISL D 4 Bright
Stop
}
}


Did I do something wrong?

__________________
My DemoPage

Old Post 04-27-14 23:50 #
TendaMonsta is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
plums
Senior Member


Posts: 1994
Registered: 08-13


I'm pretty sure the explosion damage is directly tied to how far you're launched.

Skulltag (and Zandronum with the Skulltag pk3s loaded) has a Red Armour powerup that greatly reduces splash damage; you might just want to make a map for that. Alternately this post by Gez suggests you can create a similar effect using the DamageFactor on some armour.

For reference, here's Skulltag's Red Armour DECORATE.
code:
ACTOR RedArmor : BasicArmorPickup 5040 { Game Doom SpawnID 168 Radius 20 Height 16 Armor.Savepercent 66.66666 Armor.Saveamount 200 Inventory.Icon "ARM3A0" Inventory.Pickupmessage "$PICKUP_REDARMOR" DamageFactor "Fire", 0.125 DamageFactor "Rocket", 0.125 DamageFactor "Grenade", 0.125 States { Spawn: ARM3 A 6 ARM3 B 6 bright goto Spawn } }


If you change that to replace the Green Armour, and use the Green Armour sprites, you might get something similar. I have not tested this out.

It might even be possible to modify a weapon to use DamageFactor and get the effect you're after directly, but maybe not, I don't really know.

Old Post 04-28-14 00:16 #
plums is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Blue Shadow
Member


Posts: 293
Registered: 09-12


Yeah, the more the damage is, the more the pushback is.

If you want more thrust without damage, then you have A_RadiusThurst; it's like A_Explode sans the damage.

Old Post 04-28-14 04:05 #
Blue Shadow is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
Gez
Why don't I have a custom title by now?!


Posts: 11141
Registered: 07-07



TendaMonsta said:
Here's the problem.

The player isn't launched high at all when I lower "explosiondamage"
Increasing the radius does nothing


Did I do something wrong?



Yeah.

Try

code:
Actor MyRocket : Rocket replaces Rocket { States { Death: MISL B 0 Bright A_Explode(32, 128) MISL B 0 Bright A_Explode(96, 128, 0) MISL B 8 Bright A_RadiusThrust(96, 128, RTF_AFFECTSOURCE) Goto Super::Death+1 } }


Now how does this work?
Actor MyRocket - you shouldn't redefine standard actors, so here we give it a different name.
: Rocket - we use inheritance because this way, this new actor will be just like the standard rocket except for what we specifically change.
replaces Rocket - we want the standard rockets to be replaced.

MISL B 0 Bright A_Explode(32, 128) - we specify parameters so that the rocket will deal less damage, here we go with only 25% damage. We use a state with 0 tic length so that the next state is entered immediately
MISL B 0 Bright A_Explode(96, 128, 0) - to make it still useful against enemy, we add in 75% of the original damage back, but in a way that'll be only inflicted to enemies, not to the player who fired the rocket. Using 0 as the third parameter negates the XF_HURTSOURCE which is set by default.
MISL B 8 Bright A_RadiusThrust(96, 128, RTF_AFFECTSOURCE) - we want the player to be affected by a blast that corresponds to 75% of a rocket blast, in addition to the 25% already used by the actual explosion that should be enough. (This will also affect enemies, so they'll get a boost compared to normal rockets. Shouldn't be a problem though.) This state has a normal tic length because it's the last in our series of three.
Goto Super::Death+1 - play the rest of the explosion animation as normal by going back to the Rocket's death state sequence. +1 means skipping the first state in the sequence, since it's what we've replaced with our three states above.

Old Post 04-28-14 13:32 #
Gez is online now Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
TendaMonsta
Member


Posts: 305
Registered: 08-09


Welp. I tried that Decorate script Gez and he still does pussy rocket jumps.

At least the monsters are affected(effected?) by it though.

__________________
My DemoPage

Old Post 05-03-14 20:26 #
TendaMonsta is offline Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Blue Shadow
Member


Posts: 293
Registered: 09-12


Try increasing the thrust force in A_RadiusThrust, then, if it's too weak.

Old Post 05-03-14 22:05 #
Blue Shadow is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
scifista42
Senior Member


Posts: 2099
Registered: 05-12


Now I would like to do the exact opposite than TendaMonsta. I want to "disable" rocket jump, in that manner that the splash damage will be the same lethal for the player as normally, but he won't be thrust upwards even if he fires below himself (or at least not that much). And I want it without side effects, like forcing infinitely tall actors or enabling OLD radius damage (which would affect monsters and other undesired objects too). Is there a possibility to achieve so?

Old Post 06-01-14 08:52 #
scifista42 is online now Profile || Blog || PM || Email || Search || Add Buddy IP || Edit/Delete || Quote
Cat God25
Mini-Member


Posts: 55
Registered: 04-09


Plums would be right about DamageFactor.

I came up with this and it *seems* to work correctly.

code:
ACTOR DoomPlayer2 : DoomPlayer { DamageFactor "Rocket", 0 } Actor Rocket2 : Rocket replaces Rocket { States { Death: MISL B 0 Bright A_SpawnItem(BOOMY,0) MISL B 8 Bright A_Explode(64,128) MISL C 6 Bright MISL D 4 Bright Stop } } ACTOR BOOMY { +PAINLESS DamageType "Rocket" States { Spawn: TNT1 A 0 Death: TNT1 A 0 A_Explode(64,128) Stop } }


And in the KEYCONF lump:

code:
clearplayerclasses addplayerclass DoomPlayer2


The rocket does half splash damage, but makes another explosion (BOOMY) doing half aswell.

I've used DamageType to make BOOMY do a certain type of damage (Rocket), and DamageFactor to make the player immune to such damage.

So the player should be taking about half as much from the splash but has the same knockback.

@scifista42 you could use something similar, it should keep the damage but lower the knockback, not sure its what your after though.

code:
Actor Rocket2 : Rocket replaces Rocket { States { Death: MISL B 0 Bright A_SpawnItem(BOOMY,0) MISL B 8 Bright A_Explode(96,128) MISL C 6 Bright MISL D 4 Bright Stop } } ACTOR BOOMY { +NODAMAGETHRUST +PAINLESS States { Spawn: TNT1 A 0 Death: TNT1 A 0 A_Explode(32,128) Stop } }

Old Post 06-03-14 07:05 #
Cat God25 is offline Profile || Blog || PM || Search || Add Buddy IP || Edit/Delete || Quote
All times are GMT. The time now is 13:04. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Classic Doom > Doom Editing > Modifying Rocket splash for Zdoom

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.