1.10 Missile Function file guide
Moderator: Skill Clinician
-
- Dominion
- Posts: 6921
- Joined: Mon May 27, 2002 7:19 am
- Location: Orsay
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
Shadow Empire (coming soon) | forum
-
- Angel
- Posts: 803
- Joined: Fri Apr 08, 2005 1:22 pm
- Location: HERE!! on the Battlefield...
I'm still a newbie and I do not now how to do that.
WAR!!!!!!!....... don't worry.. I'm working on it
http://iloveshaders.blogspot.com/
http://iloveshaders.blogspot.com/
-
- Champion of the Light
- Posts: 339
- Joined: Sun Apr 18, 2004 5:42 pm
- Location: Brasov, Romania
Re: 1.10 Missile Function file guide
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...
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!
-
- Champion of the Light
- Posts: 339
- Joined: Sun Apr 18, 2004 5:42 pm
- Location: Brasov, Romania
Re: 1.10 Missile Function file guide
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...
Imagine Bishibosh spawning 12 fallen every 2 seconds...
Death is not an option!
-
- Posts: 18
- Joined: Thu Aug 11, 2005 11:28 pm
meteorcenter client function parameters
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.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
edit; an example:
meteorcenter range: 60 -> 15; impact is 3/4ths earlier meteor and meteortail range: 60 -> 15} meteorcenter cltparam1: 59 -> 14} animations reflect thiswhen 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.
-
- Posts: 64
- Joined: Mon Mar 12, 2007 9:19 pm
Re: 1.10 Missile Function file guide
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
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
Re: 1.10 Missile Function file guide
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:
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?
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:
(emphasis mine)mishy23 wrote: ↑Sat Feb 05, 2005 5:16 amHit 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.
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
Re: 1.10 Missile Function file guide
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!
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!
Re: 1.10 Missile Function file guide
Can HitFunctions be used in DoFuncs ?
Re: 1.10 Missile Function file guide
Probably not, I believe they use different function tables.
D2TXT / D2INI - Python scripts for editing TXT files, or converting between TXT ↔ INI files