Stone Curse

Weekly updated column for helping skill development. Users can't directly post requests but a PM or mail can be sent to Skill-Clinician.

Moderator: Skill Clinician

ocarinas
Posts: 56
Joined: Sun Apr 10, 2016 4:36 am

Stone Curse

Post by ocarinas » Tue Apr 04, 2017 6:59 pm

Not sure if anyone has done this yet but I've discovered a workaround to how to make stone curse like spell and thus I'm here to share it.

Anyone who has been doing skill making for a while may know that there're no skill functions that can freeze a target while applying a state at the same time, that's why stone curse like spell has always been a myth without CE (to my knowledge). While trying to figure out for a full night, I've finally found a nice way to do it without CE or too ugly workaround. Fully softcoded 100%.

What we need
- skills.txt
- states.txt
- overlay.txt (optional if you want to add a nice dusty overlay to the skill)
- skilldesc.txt (I won't explain how to since It's basic, just search the site)

Okay, first open skills.txt then make a new row at the end of the file, and fill the field with following. (I'll only list the important ones)
- skill: put whatever skill name you want.
- Id: put the next Id.
- charclass: whichever classes you want to give the skill to.
- srvdofunc: put a 100 here (this skill function will always freeze a monster regardless of what element you put in EType field)
- enhanceable: 1
- anim: SC
- seqtrans: SC
- monanim: xx here or SC (or whichever anim mode) unless you want to give the skill to merc or assassin shadow.
- hitshift: 1 (explanation below)
- EType: burn (same with above)
- EMin-Emax: 1 (same with above)
- ELen: how long you want the skill to last.
- eol: 0

Yea, we're gonna use burn EType to do the trick. According to Nefarius, this EType has always been forgotten cause Blizzard hadn't finished the code, you won't receive any EXP from monsters that got killed by this EType. This is the reason why you set the damage as low as possible to prevent the target from getting killed by the skill.
So let's go back to the main point, why burn? the answer is because burn also applies a state to the target like the other EType. That's why we're gonna use this unused state to camouflage the freeze's state.

Next open states.txt. Press Ctrl+F and search for "burning", It'd be at Id number 115, then fill the field with following.
- colorpri: 101 (put the highest number so this state will always display first)
- colorshift: 74 (turn the target color palette to grey)
- onsound: golemclay_spawn (optional in case you want a suitable sound when the state's trigger)

Next is skilldesc.txt if you wanna give the skill to player. And that's it we're done here.

Here's the result.



You can also make an aoe version like in the vid with the use of multi damage missiles by setting it to do freeze damage first and following by burn.

Thanks for reading :)

User avatar
Ogodei
Senior Moderator
Angel
Posts: 516
Joined: Thu Mar 10, 2016 8:31 am
Italy

Hand-picked

Re: Stone Curse

Post by Ogodei » Sat Apr 08, 2017 11:42 am

Fantastic! :)

I was trying to recreate this spell for my D1-to-D2 project, and I'll definitely bookmark your post :P

thanks a lot sir!

EDIT : I recreated it by following your instructions. It works perfectly for what concerns its mechanic, but I noticed that the petrified state doesn't wear off as soon as the skill elapses, but instead a little later. How did you fix this issue? I see that in your video the state's expiration and their return to mobility is perfectly synchronized.

Here's a short video showing my issue.


ocarinas
Posts: 56
Joined: Sun Apr 10, 2016 4:36 am

Re: Stone Curse

Post by ocarinas » Sat Apr 08, 2017 4:56 pm

Hello
Try setting MonsterFreezeDivisor field in difficultylevels.txt to a low number. Mine is 1.


User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Sweden

Hand-picked

Re: Stone Curse

Post by kingpin » Sun Apr 23, 2017 7:23 am

I coded stone curse skill in my mod, but nice see a softcoded workaround.

User avatar
jetaman
Hosted Forum Moderator
Champion of the Light
Posts: 318
Joined: Sat Jul 18, 2015 7:00 pm
Location: Ukraine
Ukraine

Hand-picked

Re: Stone Curse

Post by jetaman » Mon Sep 18, 2017 7:01 pm

I get some weird bugs with this skill function - first i did everything as in tutorial, and still the func pull the pallete from frozen state not from burn state.
Also, is it possibe to make something like mass paralyze skill?

User avatar
Nagahaku
Junior Member
Paladin
Posts: 119
Joined: Sat Nov 30, 2019 1:11 am

Re: Stone Curse

Post by Nagahaku » Thu Aug 03, 2023 8:11 am

Ogodei wrote:
Sat Apr 08, 2017 5:20 pm
I probably found the cause. It should be reated to the target's cold resist. In fact, you cannot freeze cold immune monsters, and cold resistance reduces freeze/chill lenght
Hi, though being late, i found a way to avoid this.
give the skill hitflag=1792, which would make it ignor all target's resists.

Return to “Skill Clinic”