[FINAL] [DM] Morgenstern - Released!

Maps, modifications, add-ons, projects, and other releases for Zandronum. Also includes announcers.
User avatar
Ænima
Addicted to Zandronum
Posts: 3523
Joined: Tue Jun 05, 2012 6:12 pm

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#41

Post by Ænima » Wed Jun 01, 2016 11:16 pm

Sean wrote:
Ænima wrote:TNT1 A 0 A_Explode(64,128,1)
TNT1 A 0 A_Explode(64,128,0)


Try that?
If you like code to be readable:

Code: Select all

TNT1 A 0 A_Explode(64, 128, XF_HURTSOURCE)
TNT1 A 0 A_Explode(64, 128, 0)
My code? Readable? Ha. Was just throwing the idea out there anyways. Of course I shouldn't have assumed that he'd know what the flags for A_Explode are but its Tiger and I figured he probably knows his stuff.
Combinebobnt wrote:You guys forgot that doesn't retain the original jump height. Here is how 2 fix:

ACTOR morgensteinplayer{
//apparently damagefactoring an explosion takes away damage but not thrust, same way HNS does it
damagefactor "oyeababyatriple", 0.5 //xd meme
}

ACTOR newrockkit{
damagetype "oyeababyatriple"
Damage 20*2 //don't forget missile impact damage!
states// (there are 50)
{
TNT1 A 0 A_Explode(128, 128, XF_HURTSOURCE) //explosion part
TNT1 A 0 A_Explode(128, 128, 0)
}
}

Tiger's link however IS STILL VALID, because this destroys the cooperative balance :-( ;-(. doesn't matter in a dm-only project of course
Don't two consecutive A_Explodes create more thrust anyways? It always seemed like it.
­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­ ­
Doom64: Unabsolved: New weapons, monsters, and gameplay features for coop !


ZandroSkins
: a pack made by our community

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#42

Post by Tiger » Sat Jun 04, 2016 4:06 am

Ænima wrote:TNT1 A 0 A_Explode(64,128,1)
TNT1 A 0 A_Explode(64,128,0)


Try that?
tlgla0.png
I don't particularly like this hack'ish attempt to simulate the effect. However, if someone wants to make a patch for it, I'll gladly promote it in the first post.
Catastrophe wrote: [*] I really cannot emphasize this enough, you need to make your weapons feel good. They are just so lackluster and boring that I might just fall asleep playing this. Look at terminus's video about this, it might help. You can also take a look at my weapons mod and see how I made the weapons feel good if you want. Stay away from weapon kickbacks/pitch adjustion, the last thing you want to do is mess up someones aim.
I am not sure how to tackle this myself. If someone has more experience with that topic and if it works nicely with Deathmatch rules and competitive feeling, I'll be willing to inspect it and maybe use in this project.
You do not have the required permissions to view the files attached to this post.
Nicholas 'Tiger' Gautier

Catastrophe
Retired Staff / Community Team Member
Posts: 2558
Joined: Sat Jun 02, 2012 2:44 am

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#43

Post by Catastrophe » Sat Jun 04, 2016 5:16 am

How is that hackish?

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#44

Post by Tiger » Tue Jun 07, 2016 9:29 pm

Catastrophe wrote:How is that hackish?
Look at the instructions carefully and you tell me how it is not hackish and let me know what those two instructions are set to accomplish.

My stance on this is firm and I will not budge, unless there's an efficient work around or that mentioned Feature Request gets approved.
Nicholas 'Tiger' Gautier

Catastrophe
Retired Staff / Community Team Member
Posts: 2558
Joined: Sat Jun 02, 2012 2:44 am

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#45

Post by Catastrophe » Tue Jun 07, 2016 10:05 pm

Tiger wrote:
Catastrophe wrote:How is that hackish?
Look at the instructions carefully and you tell me how it is not hackish and let me know what those two instructions are set to accomplish.

My stance on this is firm and I will not budge, unless there's an efficient work around or that mentioned Feature Request gets approved.
But it isn't hackish wtf. I don't see how this will ever break in future Zdoom versions.

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#46

Post by Tiger » Tue Jun 07, 2016 10:10 pm

Catastrophe wrote:But it isn't hackish wtf. I don't see how this will ever break in future Zdoom versions.
I did not say that this breaks anything, I asked you very specifically:
Tiger wrote: Look at the instructions carefully and you tell me how it is not hackish and let me know what those two instructions are set to accomplish.
Nicholas 'Tiger' Gautier

Catastrophe
Retired Staff / Community Team Member
Posts: 2558
Joined: Sat Jun 02, 2012 2:44 am

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#47

Post by Catastrophe » Tue Jun 07, 2016 10:28 pm

Tiger wrote:
Catastrophe wrote:But it isn't hackish wtf. I don't see how this will ever break in future Zdoom versions.
I did not say that this breaks anything, I asked you very specifically:
Tiger wrote: Look at the instructions carefully and you tell me how it is not hackish and let me know what those two instructions are set to accomplish.
Ok.

TNT1 A 0 A_Explode(64,128,1) <--- hurts firer
TNT1 A 0 A_Explode(64,128,0) <--- doesnt hurt firer

This way you can do full damage to enemies, but only half to yourself. There, done.

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#48

Post by Tiger » Tue Jun 07, 2016 11:21 pm

Catastrophe wrote: TNT1 A 0 A_Explode(64,128,1) <--- hurts firer
TNT1 A 0 A_Explode(64,128,0) <--- doesnt hurt firer

This way you can do full damage to enemies, but only half to yourself.
This is right - but partially. To my understanding, using the ZDoom Wiki, I would have to hurt the enemy players twice in order to make this effect possible, is there a way to make this happen only once?
Nicholas 'Tiger' Gautier

Catastrophe
Retired Staff / Community Team Member
Posts: 2558
Joined: Sat Jun 02, 2012 2:44 am

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#49

Post by Catastrophe » Wed Jun 08, 2016 1:51 am

Tiger wrote:
Catastrophe wrote: TNT1 A 0 A_Explode(64,128,1) <--- hurts firer
TNT1 A 0 A_Explode(64,128,0) <--- doesnt hurt firer

This way you can do full damage to enemies, but only half to yourself.
This is right - but partially. To my understanding, using the ZDoom Wiki, I would have to hurt the enemy players twice in order to make this effect possible, is there a way to make this happen only once?
Just divide the amount of damage you wanna deal by two, is it hard to understand? Like if you wanna do
TNT1 A 0 A_Explode(200,128,1)

You can divide it to
TNT1 A 0 A_Explode(100,128,1)
TNT1 A 0 A_Explode(100,128,0)

to damage the enemy the full 200, but yourself only 100.

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#50

Post by Tiger » Wed Jun 08, 2016 2:50 am

Catastrophe wrote: is it hard to understand?
It's not the math - although I may not probably use that exact algorithm, but I would rather use just 'one' instruction - a silver bullet if you well.
Nicholas 'Tiger' Gautier

Catastrophe
Retired Staff / Community Team Member
Posts: 2558
Joined: Sat Jun 02, 2012 2:44 am

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#51

Post by Catastrophe » Wed Jun 08, 2016 2:55 am

Tiger wrote:
Catastrophe wrote: is it hard to understand?
It's not the math - although I may not probably use that exact algorithm, but I would rather use just 'one' instruction - a silver bullet if you well.
I still don't see how you think this is hacky. It really isn't.

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#52

Post by Tiger » Wed Jun 08, 2016 3:44 am

If anyone else is for rocket jumping with self-reduced damage, let me know now.
Nicholas 'Tiger' Gautier

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#53

Post by Tiger » Wed Jun 08, 2016 4:44 am

So I have started working on this and immediately ran into a huge issue; if I reduce the damage to 'half' then the player's jump will be reduced by 'half', if I reduce the damage by 1/4 then the rocket jump potential height is exactly that, 1/4. Unless someone can find out why and how to resolve it, I am not going to bother. If I want to rocket jump, I want to keep the exact same potential height possible now without the code alterations below. Otherwise, this is pointless - and isn't really useful for anyone, literally.

Code: Select all

ACTOR TGRRocket : Rocket REPLACES Rocket
{
    // Variables
    // ===========
        const int explosionDamage = 128;
    // -----
        States
    {
    Death:
        MISL B 8 Bright A_Explode ((explosionDamage/4), 128, XF_HURTSOURCE) // Self damage && everyone else
        MISL B 0 Bright A_Explode ((explosionDamage-(explosionDamage/4)), 128, 0) // Omitting self damage; everyone else
        MISL C 6 Bright
        MISL D 4 Bright
        Stop
}
Nicholas 'Tiger' Gautier

User avatar
Combinebobnt
Retired Staff / Community Team Member
Posts: 1893
Joined: Mon Jun 04, 2012 3:37 am
Location: Erth
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#54

Post by Combinebobnt » Wed Jun 08, 2016 6:03 am

i wonder if i posted the solution in this thread.........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Catastrophe
Retired Staff / Community Team Member
Posts: 2558
Joined: Sat Jun 02, 2012 2:44 am

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#55

Post by Catastrophe » Wed Jun 08, 2016 8:07 am

Its almost like you don't read some of the posts on the thread

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#56

Post by Tiger » Wed Jun 08, 2016 1:29 pm

Combinebobnt wrote:i wonder if i posted the solution in this thread.
Can you please walk me through this code?
Combinebobnt wrote:You guys forgot that doesn't retain the original jump height. Here is how 2 fix:

ACTOR morgensteinplayer{
//apparently damagefactoring an explosion takes away damage but not thrust, same way HNS does it
damagefactor "oyeababyatriple", 0.5 //xd meme
}

ACTOR newrockkit{
damagetype "oyeababyatriple"
Damage 20*2 //don't forget missile impact damage!
states// (there are 50)
{
TNT1 A 0 A_Explode(128, 128, XF_HURTSOURCE) //explosion part
TNT1 A 0 A_Explode(128, 128, 0)
}
}
Catastrophe wrote:Its almost like you don't read some of the posts on the thread
I'm sorry, is there a message I missed from you? I know that I am very ill, but I thought I responded and adhered to your posts?
Nicholas 'Tiger' Gautier

FascistCat
 
Posts: 98
Joined: Mon Jul 20, 2015 12:51 pm

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#57

Post by FascistCat » Wed Jun 08, 2016 10:31 pm

Tiger wrote:
Combinebobnt wrote:i wonder if i posted the solution in this thread.
Can you please walk me through this code?
The morgensteinplayer ACTOR takes 50% less damage from the newrockkit ACTORs who dealt "oyeababyatriple" damage type to it. So we do the maths:

Base damage: 20 * 50% = 10
Radius damage: 128* 50% = 64
Total = 74.

That means, one player can get hurt by its own rocket by half the original amounts but it will deal that same halved damage to other players too. HOWEVER! We DO want full damage dealt when one player hits another player with a rocket. How to achieve this?

1. Increase base damage by 100% so it doesn't get halved by the DamageType property. Hence the line Damage 20*2 //don't forget missile impact damage! at the rocket ACTOR definition.
2. Increase radius damage by 100% (128 -> 256) and deal the radius damage in two instantaneous blows. The first one will hurt the player which fires the rocket and the damage will be divided by 2. This is the line TNT1 A 0 A_Explode(128, 128, XF_HURTSOURCE) //explosion part.
3. The second part of the blast will not hurt the player who fired the rocket but it will hurt others. This is the line TNT1 A 0 A_Explode(128, 128, 0)

So, we do some simple math imagining we hit ourselves with our own rocket:

Base damage: 40 * 50% * 0 = 0
Radius damage1: 128 * 50% * 1 = 64, this part deals damage because of XF_HURTSOURCE.
Radius damage2: 128 * 50% * 0 = 0, this part does not apply since it's our own rocket.
Total = 64

And when we hit another player:

Base damage: 40 * 50% = 20
Radius damage1: 128 * 50% * 1 = 64
Radius damage2: 128 * 50% * 1 = 64, now this part applies because it's our rocket hitting another player.
Total = 148

Crucial question: Then why don't we just ignore DamageType and halve all quantities directly?
Crucial answer: Because A_Explode would not deliver enough damage to rocketjump. If we reduce A_Explode damage to 64 and divide by 2, we would only receive 64 points of damage instead of the original 128 needed for normal rocketjumping.

Crucial question 2: But doesnt the radius damage gets halved by the "ohyeababyitsatriple" damage factor?
Crucial answer 2: Indeed, it does get halved. However, thrust does not. So if we specify 64 instead of 128 directly we get half of the thrust received from a rocket blast.

Crucial question 3: Then, could other players receive two times the thrust with this?
Crucial answer 3: I don't know. We should try and see.

User avatar
Combinebobnt
Retired Staff / Community Team Member
Posts: 1893
Joined: Mon Jun 04, 2012 3:37 am
Location: Erth
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#58

Post by Combinebobnt » Wed Jun 08, 2016 11:54 pm

ok thanks fascist. tiger u need to learn basic decorate anyway, it's pretty easy syntax and you use git and bootless star or something so no excuse

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#59

Post by Tiger » Thu Jun 09, 2016 5:29 am

What I don't understand - is why is there exists a total of fifty states? I am using the basic properties provided by ZDoom which only has two states defined, where is the forty-eight that the Author has not mentioned but implied that it exists?
Combinebobnt wrote:

Code: Select all

states// (there are 50)
{
TNT1 A 0 A_Explode(128, 128, XF_HURTSOURCE) //explosion part
TNT1 A 0 A_Explode(128, 128, 0)
}
}
Nicholas 'Tiger' Gautier

User avatar
Tiger
Retired Staff / Community Team Member
Posts: 381
Joined: Thu May 31, 2012 6:21 am
Location: United States
Contact:

[FINAL] Re: [DM] Morgenstern - Internal Core Updates {WIP}

#60

Post by Tiger » Thu Jun 09, 2016 6:12 am

Combinebobnt wrote:tiger u need to learn basic decorate anyway, it's pretty easy syntax and you use git and bootless star or something so no excuse
I don't understand why you are making such remarks; I want to learn as to how I can get this feature in and I am welling to work with you guys to get it in. But if you are going to act this way, then maybe I shouldn't and maybe I should no longer advertise any more works on this forum board. Now, I will admit, I - at first - did not like the implementation, and I do apologize to Catastrophic if I seem hasty towards him\her. However, I am or was welling to place my preferences aside - and make this happen for everyone. But, if this is a problem then I can move on to the next task.
Nicholas 'Tiger' Gautier

Post Reply