1.10 Missile Function file guide

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

User avatar
Joel
Moderator
Dominion
Posts: 6921
Joined: Mon May 27, 2002 7:19 am
Location: Orsay
Contact:

Hand-picked

Post by Joel » Mon Jun 06, 2005 10:20 am

For multiple hitting homing stuff, better use a self made chain of LF missiles using NextDelay to control how often it hits.
"How much suffering, mortal, does it take before you lose your grace?"
Shadow Empire (coming soon) | forum

User avatar
SilverShadowHell
Forum Regular
Angel
Posts: 803
Joined: Fri Apr 08, 2005 1:22 pm
Location: HERE!! on the Battlefield...
Contact:

Post by SilverShadowHell » Mon Jun 06, 2005 8:50 pm

I'm still a newbie and I do not now how to do that. :cry:
WAR!!!!!!!....... don't worry.. I'm working on it
http://iloveshaders.blogspot.com/

User avatar
Hygiliak
Junior Member
Champion of the Light
Posts: 339
Joined: Sun Apr 18, 2004 5:42 pm
Location: Brasov, Romania
Romania

Re: 1.10 Missile Function file guide

Post by Hygiliak » Thu Jun 23, 2005 8:44 am

You have missed one:

cltDoFunc 12 handleses screen shaking:

cltPar1: amplitude of shaking (# of pixels to move the screen around I think)
cltPar2: length of entire quake - seconds (has a built-in delay proportional to the entire length)

The cool thing about this screen shacking is that accelerates, keeps max speed and the gradualy decreases.
The perfect simulation for a real earhquake.

Also there is cltHitFunc 4 (seems to be identical to 30)

There are a lot of unused func in diablo, but most of them are dead (every unused cltHitFunc besides 4 is empty - or so it seems)
cltDoFunc 14 seems to modify missile's direction in a strange way... and cltDoFunc 67, (or 68 I can't remember, see the one that does not appear in txt) spawn 3 submissiles according to the direction increments in params 1(global),2,3,4(submissile specific); last one is kind of buggy though...
Death is not an option!

User avatar
Hygiliak
Junior Member
Champion of the Light
Posts: 339
Joined: Sun Apr 18, 2004 5:42 pm
Location: Brasov, Romania
Romania

Re: 1.10 Missile Function file guide

Post by Hygiliak » Thu Jun 30, 2005 10:19 am

pSrvHitFunc 39 spawns one or more enemies from the monster pool of the current level, according to it's rarity (will spawn on dark hunter, but 3 carver). It has to hit something to take effect and it doesn't deal any damage... cool for monster spawning independent of AI...

Imagine Bishibosh spawning 12 fallen every 2 seconds...
Death is not an option!

User avatar
durruti
Posts: 18
Joined: Thu Aug 11, 2005 11:28 pm

meteorcenter client function parameters

Post by durruti » Tue Sep 20, 2005 5:23 pm

Move Function 9/1 (Ex: meteorcenter) This movement function allows a missile to fall from the sky, it has a few parameters for movement and speed of its submissiles including: cltparam1 which is total number of frames missile will ‘delay’ before falling
not true. reducing cltparam1 of meteorcenter will only cut out parts of the falling meteor animation as in make it fall from a lower height (the rest of the delay the meteor will hover slightly above the ground). it won't touch the delay. i guess that the meteor normally starts way off screen. the actual delay before the (damaging) submissiles are released is controlled by the range (default: 60) of meteorcenter, i'm still testing to adjust the animations/sound but, yeah, you might want to change this. props though for your (and all the other) fine fileguides on this site.

edit; an example:
       meteorcenter range: 60 -> 15; impact is 3/4ths earlier
       meteor and meteortail range: 60 -> 15}
       meteorcenter cltparam1:      59 -> 14} animations reflect this
when decreasing the initial delay, maybe remove meteors dosound in skills.txt since it lasts the whole default delay.
Last edited by durruti on Tue Sep 20, 2005 7:59 pm, edited 4 times in total.

User avatar
Ryokken
Posts: 64
Joined: Mon Mar 12, 2007 9:19 pm

Re: 1.10 Missile Function file guide

Post by Ryokken » Thu Mar 15, 2007 11:42 pm

I could have spent an incredibly long time sending e-mails and other private messages over the course of a few months, looking for answers regarding missle/skill creation/alteration, your guide however cut that time down to 12.29 minutes....

Your guide is worth more then a 10 outta 10.... however to be fair I have to rate it a 9.9, after all you didn't do anything on the moltenboulder :mrgreen:

User avatar
mmpx222
Junior Member
Paladin
Posts: 154
Joined: Sat Apr 26, 2014 9:19 am
Korea South

Re: 1.10 Missile Function file guide

Post by mmpx222 » Fri May 30, 2014 7:48 pm

Sorry about bumping old posts, but this seems better than creating a new thread for every tip...since we don't have a wiki.

Some info on the "firehead" hit functions (client 32/server 31): This only works if the missile (or the skill using it) deals physical damage; amount healed equals 100% of physical damage (NOT a 50%). However, the heal-on-hit even if the target is physical immune. The leech graphic effect (ProgOverlay in Missiles.txt) is always displayed, even if the skill deals no physical damage and thus cannot heal the casting player/monster. Also, the missile itself does not apply AoE damage like Fire Ball/Glacial Spike--though I suspect making it pierce monsters (by messing with CollideKill) would allow it to heal multiple times.

Added on 2019 Jan 06:
mishy23 wrote:
Sat Feb 05, 2005 5:16 am
Hit Function 19/x (Ex: blizzard1) This is just about the client-side hit function 19, which is commonly mixed and matched with other server-side hit functions [...] It seems this client function also uses cltparam1/2 to determine fall distance and rate of the missile - upon further study it does not seem like this is done with the move function as I first thought.
(emphasis mine)
From my observations, this statement seems to be false, at least on 1.13c. It looks like the client move function (pCltDoFunc) 1 does use CltParam1 (fall distance) and CltParam2 (fall speed) for moving the submissiles. To verify, I set pCltHitFunc=0 to Blizzard's submissiles (blizzard1~blizzard4). On the client, this did not affect the submissiles falling from the sky, though the 'exploding ice' effect was no longer shown. Also, I could still change the fall distance and speed by modifying CltParam1 and CltParam2--which shouldn't be possible if client hit function 19 is responsible for moving the submissiles.

One more observation: The ice exploding effect on the client does not match the timing at which damage is applied. In fact, the submissile seems to deal damage immediately upon spawning, while the ice explosions are purely cosmetic. To verify, I CltParam2=1 to Blizzard's submissiles (blizzard1~blizzard4). On the client, this caused the submissiles to fall very slowly over a very long time. However, enemy monsters were immediately damaged, long before the submissiles 'hit the ground' and exploded.

Range doesn't seem to affect the falling distance, speed, or duration at all; changing it had no noticeable effect on the client. However, setting it to 1 did prevent the submissiles from dealing any damage, so I guess it is read by the server?
Last edited by mmpx222 on Sun Jan 06, 2019 11:06 am, edited 2 times in total.
D2TXT / D2INI - Python scripts for editing TXT files, or converting between TXT ↔ INI files

User avatar
k0r3l1k
Moderator
Angel
Posts: 631
Joined: Sun Sep 09, 2007 3:11 am
Location: Arizona, Prescott
United States of America

Re: 1.10 Missile Function file guide

Post by k0r3l1k » Fri Sep 08, 2017 1:43 pm

I thought this discovery would be worth putting here.

Missile HitFunc 10/19 (fingermagemissile) have the effect of inducing a state from the parent skill aura parameters. The stats are applied and the state is in full effect.

I have tested and this effect is totally independent from skill srvfuncs. It works when fired from an empty skill such as firebolt.

On a side note, while I haven't tested this as much, missile DoFunc 15/11 seem to make a missile into a seeker, again, independent of the skill's functions.

Happy modding!
Image

theoutlaw
Posts: 21
Joined: Sun Dec 01, 2019 1:53 am
Canada

Re: 1.10 Missile Function file guide

Post by theoutlaw » Sun Dec 15, 2019 6:03 pm

Can HitFunctions be used in DoFuncs ?

User avatar
mmpx222
Junior Member
Paladin
Posts: 154
Joined: Sat Apr 26, 2014 9:19 am
Korea South

Re: 1.10 Missile Function file guide

Post by mmpx222 » Sat Jan 18, 2020 11:08 am

theoutlaw wrote:
Sun Dec 15, 2019 6:03 pm
Can HitFunctions be used in DoFuncs ?
Probably not, I believe they use different function tables.
D2TXT / D2INI - Python scripts for editing TXT files, or converting between TXT ↔ INI files

Post Reply

Return to “Skill Clinic”