Horsefly Swamp update
Creatures & encounter tables to support Horsefly swamp expansion.
BIN
_content/ratdog_creatures/alligator.dds
Normal file
BIN
_content/ratdog_creatures/alligator.tga
Normal file
After Width: | Height: | Size: 3.0 MiB |
BIN
_content/ratdog_creatures/c_swarm_fly1.tga
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
_content/ratdog_creatures/c_swarm_fly2.tga
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
_content/ratdog_creatures/c_swarm_fly3.tga
Normal file
After Width: | Height: | Size: 16 KiB |
1700
_content/ratdog_creatures/c_swarm_flybr1.mdl
Normal file
3350
_content/ratdog_creatures/c_swarm_flybr2.mdl
Normal file
5000
_content/ratdog_creatures/c_swarm_flybr3.mdl
Normal file
1700
_content/ratdog_creatures/c_swarm_flygr1.mdl
Normal file
3350
_content/ratdog_creatures/c_swarm_flygr2.mdl
Normal file
5000
_content/ratdog_creatures/c_swarm_flygr3.mdl
Normal file
1700
_content/ratdog_creatures/c_swarm_flyrd1.mdl
Normal file
3350
_content/ratdog_creatures/c_swarm_flyrd2.mdl
Normal file
5000
_content/ratdog_creatures/c_swarm_flyrd3.mdl
Normal file
12517
_content/ratdog_creatures/c_swarm_insect.mdl
Normal file
BIN
_content/ratdog_creatures/c_swarm_insect.tga
Normal file
After Width: | Height: | Size: 16 KiB |
24682
_content/ratdog_creatures/c_swarm_insect2.mdl
Normal file
36945
_content/ratdog_creatures/c_swarm_insect3.mdl
Normal file
BIN
_content/ratdog_creatures/c_swarm_kank.tga
Normal file
After Width: | Height: | Size: 256 KiB |
9965
_content/ratdog_creatures/c_swarm_kank1.mdl
Normal file
19880
_content/ratdog_creatures/c_swarm_kank2.mdl
Normal file
29795
_content/ratdog_creatures/c_swarm_kank3.mdl
Normal file
BIN
_content/ratdog_creatures/phod_ungoat1.dds
Normal file
BIN
_content/ratdog_creatures/phod_ungoat2.dds
Normal file
BIN
_content/ratdog_creatures/po_crocgator_m.tga
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
_content/ratdog_creatures/po_crocgator_s.tga
Normal file
After Width: | Height: | Size: 6.0 KiB |
BIN
_content/ratdog_creatures/po_crocgator_t.tga
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
_content/ratdog_creatures/qc_alligator.mdl
Normal file
@@ -905,18 +905,18 @@
|
||||
901 "Bat: Medium 250" **** BASE c_a_bat2_50 **** R S **** 1 1 1 VFAST 2.75 5.5 0.2 0.2 1 0.2 1.7 H 1 2 1 1 po_Bat 1 9 9 5 1 60 30 Bat_head 0 1
|
||||
902 "Bat: Large 375" **** BASE c_a_bat3_75 **** R S **** 1 1 1 VFAST 2.75 5.5 0.2 0.2 1 0.2 1.7 H 1 2 1 1 po_Bat 1 9 9 5 1 60 30 Bat_head 0 1
|
||||
903 "Bat: Huge 500" **** BASE c_a_bat5 **** R S **** 1 1 1 VFAST 2.75 5.5 0.2 0.2 1 0.2 1.7 H 1 2 1 1 po_Bat 1 9 9 5 1 60 30 Bat_head 0 1
|
||||
904 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
905 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
906 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
907 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
908 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
909 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
910 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
911 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
912 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
913 "Wererat: Berserker" **** Wererat_berserker qc_wererat_berz default R FT **** 1 1 1 FAST 1.75 2.33 0.5 0.8 1 0.5 1.9 H 1 22 1 1 po_Wererat 3 9 3 2 1 60 30 head_g 0 1
|
||||
914 Werepanther **** WerePanther qc_werepanther default R FT 1.3 1 1 1 FAST 2.7 5.5 0.3 1 1 0.3 1.8 H 1 14 1 1 po_GnollWiz 3 9 0 0 1 60 30 head_g 6 1
|
||||
915 "Werewolf: Noble Alpha" **** Werewolf_Alpha qc_werewolf_A default R FT 1.3 1 1 1 VFAST 2.9 5.7 0.4 1.1 2.25 0.3 1.8 H 1 14 1 1 po_GnollWiz 3 9 0 0 1 60 30 head_g 6 1
|
||||
904 "Swarm, Insects / 05 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_insect **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
905 "Swarm, Insects / 10 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_insect2 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
906 "Swarm, Insects / 15 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_insect3 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
907 "Swarm, Brown Flies / 05 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flybr1 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
908 "Swarm, Brown Flies / 10 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flybr2 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
909 "Swarm, Brown Flies / 15 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flybr3 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
910 "Swarm, Red Flies / 05 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flyrd1 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
911 "Swarm, Red Flies / 10 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flyrd2 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
912 "Swarm, Red Flies / 15 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flyrd3 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
913 "Swarm, Green Flies / 05 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flygr1 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
914 "Swarm, Green Flies / 10 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flygr2 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
915 "Swarm, Green Flies / 15 Bugs / Tiny [Acidchalk]" **** Swarm c_swarm_flygr3 **** G S 1 1 1 1 NORM 1 2 0.3 0.4 1 1 1.2 H 0 24 0 0 po_bugs 1 9 9 26 1 60 30 **** 0 1
|
||||
916 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
917 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
918 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
@@ -6322,7 +6322,7 @@
|
||||
6318 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6319 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6320 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6321 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6321 "Dog: Undead: Wolf: Dire* (PLUSH HYENA of DOOM)" **** Wolf_Dog c_phod_unwolf **** R S **** 1 1 1 FAST 1.8 3.6 0.6 1.1 1 1.1 2.7 H 0 23 1 1 po_Wolf 4 9 3 2 1 60 30 Wolf_head 0 1
|
||||
6322 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6323 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6324 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
@@ -6336,14 +6336,14 @@
|
||||
6332 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6333 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6334 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6335 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6336 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6335 "Deer: Undead* (PLUSH HYENA of DOOM)" **** Deer c_phod_undeer **** R S **** 1 1 1 FAST 1.82 2.4 0.6 0.9 1 0.9 2.6 H 0 23 1 1 po_Deer 3 9 4 2 1 60 30 Deer_head 0 1
|
||||
6336 "Goat: Undead, Humongous* (PLUSH HYENA of DOOM)" **** Goat C_phod_ungoat **** R S **** 1 1 1 NORM 1.82 2.4 0.6 0.9 1 0.9 2.6 H 0 23 1 1 po_Deer 3 9 4 2 1 60 30 Deer_head 0 1
|
||||
6337 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6338 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6339 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6338 "Badger of Doom: Undead* (PLUSH HYENA of DOOM)" **** Badger c_phod_unbgr1 **** R S **** 1 1 1 FAST 1 1.42 0.5 0.5 1 0.5 2.6 L 0 23 1 1 po_DireBadger 2 9 3 2 1 60 30 Badger_head 0 1
|
||||
6339 "Badger: Undead* (PLUSH HYENA of DOOM)" **** Badger c_phod_unbgr2 **** R S **** 1 1 1 FAST 0.77 1.2 0.3 0.3 1 0.3 2 L 0 23 1 1 po_DireBadger 1 9 3 2 1 60 30 Badger_head 0 1
|
||||
6340 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6341 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6342 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6342 "Boar: Undead* (PLUSH HYENA of DOOM)" **** Boar c_phod_unboar **** R S **** 1 1 1 FAST 1.46 2.1 0.6 0.6 1 0.6 2.2 L 0 23 1 1 po_DireBoar 3 9 0 2 1 60 30 Wildboar_head 0 1
|
||||
6343 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6344 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6345 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
@@ -6353,8 +6353,8 @@
|
||||
6349 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6350 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6351 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6352 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6353 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6352 "Bear (Rubbish): Undead* (PLUSH HYENA of DOOM)" **** Bear c_phod_unbea1 **** R S **** 1 1 1 FAST 1.46 1.94 0.6 1.5 1 1.5 2.2 H 1 23 1 1 po_BearDire 4 9 3 2 1 60 30 Bear_head 0 1
|
||||
6353 "Bear (Sumo): Undead* (PLUSH HYENA of DOOM)" **** Bear c_phod_unbea2 **** R S **** 1 1 1 NORM 1.75 2.33 0.8 1.7 1 1.5 1.7 H 1 23 1 1 po_BearDire 4 9 3 2 1 60 30 Bear_head 0 1
|
||||
6354 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6355 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6356 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
@@ -6404,7 +6404,7 @@
|
||||
6400 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6401 Dracolisk **** Dracolisk c_dracolisk **** G S **** 1 1 1 FAST 2.05 2.7 1.1 4.8 1 2.4 4.8 L 0 20 1 1 po_DrgBlack 3 9 3 2 1 60 30 Wolf_head 0 1
|
||||
6402 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6403 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6403 "Alligator* (Project Q)" **** crocodile qc_alligator **** R S **** 1 1 1 FAST 1.82 2.4 0.6 0.9 1 0.9 2.6 H 0 2 1 1 po_crocgator 3 9 4 2 1 60 30 Deer_head 0 1
|
||||
6404 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6405 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
6406 **** **** USER_RESERVED **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
|
BIN
_content/ratdog_top/nw_s0_remeffect.ncs
Normal file
257
_content/ratdog_top/nw_s0_remeffect.nss
Normal file
@@ -0,0 +1,257 @@
|
||||
/*
|
||||
nw_s0_remeffect
|
||||
|
||||
Takes the place of
|
||||
Remove Disease
|
||||
Neutralize Poison
|
||||
Remove Paralysis
|
||||
Remove Curse
|
||||
Remove Blindness / Deafness
|
||||
|
||||
Lesser Restoration
|
||||
Restoration
|
||||
Greater Restoration
|
||||
|
||||
Panacea
|
||||
|
||||
By: Preston Watamaniuk
|
||||
Created: Jan 8, 2002
|
||||
Modified: Jun 16, 2006
|
||||
|
||||
Flaming_Sword: Added Restoration spells, cleaned up
|
||||
added panacea, attack roll before SR check
|
||||
*/
|
||||
const int SAVING_THROW_NONE = 4;
|
||||
|
||||
#include "inc_dispel"
|
||||
#include "prc_sp_func"
|
||||
#include "prc_inc_sp_tch"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
int GetIsSupernaturalCurse(effect eEff)
|
||||
{
|
||||
return GetTag(GetEffectCreator(eEff)) == "q6e_ShaorisFellTemple";
|
||||
}
|
||||
|
||||
// * generic area of effect constructor
|
||||
void PRCGenericAreaOfEffect(
|
||||
object oCaster, location lTargetLoc,
|
||||
int nShape, float fRadiusSize, int nSpellID,
|
||||
effect eImpact, effect eLink, effect eVis,
|
||||
int nDurationType=DURATION_TYPE_INSTANT, float fDuration = 0.0,
|
||||
int nTargetType=SPELL_TARGET_ALLALLIES, int bHarmful = FALSE,
|
||||
int nRemoveEffectSpell=FALSE, int nRemoveEffect1=0, int nRemoveEffect2=0, int nRemoveEffect3=0,
|
||||
int bLineOfSight=FALSE, int nObjectFilter=OBJECT_TYPE_CREATURE,
|
||||
int bPersistentObject=FALSE, int bResistCheck=FALSE, int nSavingThrowType=SAVING_THROW_NONE,
|
||||
int nSavingThrowSubType=SAVING_THROW_TYPE_ALL
|
||||
)
|
||||
{
|
||||
//Apply Impact
|
||||
if (GetEffectType(eImpact) != 0)
|
||||
{
|
||||
ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eImpact, lTargetLoc);
|
||||
}
|
||||
|
||||
object oTarget = OBJECT_INVALID;
|
||||
float fDelay = 0.0;
|
||||
|
||||
int nPenetr = PRCGetCasterLevel(oCaster);
|
||||
|
||||
|
||||
//Get the first target in the radius around the caster
|
||||
if (bPersistentObject == TRUE)
|
||||
oTarget = GetFirstInPersistentObject();
|
||||
else
|
||||
oTarget = GetFirstObjectInShape(nShape, fRadiusSize, lTargetLoc, bLineOfSight, nObjectFilter);
|
||||
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if (spellsIsTarget(oTarget, nTargetType, oCaster) == TRUE)
|
||||
{
|
||||
//Fire spell cast at event for target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, nSpellID, bHarmful));
|
||||
int nResistSpellSuccess = FALSE;
|
||||
// * actually perform the resist check
|
||||
if (bResistCheck == TRUE)
|
||||
{
|
||||
nResistSpellSuccess = PRCDoResistSpell(oCaster, oTarget,nPenetr);
|
||||
}
|
||||
if(!nResistSpellSuccess)
|
||||
{
|
||||
int nDC = PRCGetSaveDC(oTarget, oCaster);
|
||||
int nSavingThrowSuccess = FALSE;
|
||||
// * actually roll saving throw if told to
|
||||
if (nSavingThrowType != SAVING_THROW_NONE)
|
||||
{
|
||||
nSavingThrowSuccess = PRCMySavingThrow(nSavingThrowType, oTarget, nDC, nSavingThrowSubType);
|
||||
}
|
||||
if (!nSavingThrowSuccess)
|
||||
{
|
||||
fDelay = PRCGetRandomDelay(0.4, 1.1);
|
||||
|
||||
|
||||
|
||||
//Apply VFX impact
|
||||
if (GetEffectType(eVis) != 0)
|
||||
{
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
}
|
||||
|
||||
// * Apply effects
|
||||
// if (GetEffectType(eLink) != 0)
|
||||
// * Had to remove this test because LINKED effects have no valid type.
|
||||
{
|
||||
|
||||
DelayCommand(fDelay, ApplyEffectToObject(nDurationType, eLink, oTarget, fDuration));
|
||||
}
|
||||
|
||||
// * If this is a removal spell then perform the appropriate removals
|
||||
if (nRemoveEffectSpell == TRUE)
|
||||
{
|
||||
//Remove effects
|
||||
PRCRemoveSpecificEffect(nRemoveEffect1, oTarget);
|
||||
if(nRemoveEffect2 != 0)
|
||||
{
|
||||
PRCRemoveSpecificEffect(nRemoveEffect2, oTarget);
|
||||
}
|
||||
if(nRemoveEffect3 != 0)
|
||||
{
|
||||
PRCRemoveSpecificEffect(nRemoveEffect3, oTarget);
|
||||
}
|
||||
|
||||
}
|
||||
}// saving throw
|
||||
} // resist spell check
|
||||
}
|
||||
//Get the next target in the specified area around the caster
|
||||
if (bPersistentObject == TRUE)
|
||||
oTarget = GetNextInPersistentObject();
|
||||
else
|
||||
oTarget = GetNextObjectInShape(nShape, fRadiusSize, lTargetLoc, bLineOfSight, nObjectFilter);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//Implements the spell impact, put code here
|
||||
// if called in many places, return TRUE if
|
||||
// stored charges should be decreased
|
||||
// eg. touch attack hits
|
||||
//
|
||||
// Variables passed may be changed if necessary
|
||||
int DoSpell(object oCaster, object oTarget, int nCasterLevel, int nEvent)
|
||||
{
|
||||
int nSpellID = PRCGetSpellId();
|
||||
SpellRemovalCheck(oCaster, oTarget);
|
||||
int nVis;
|
||||
int iAttackRoll = TRUE;
|
||||
switch(nSpellID)
|
||||
{ //Setting visual effect
|
||||
case SPELL_GREATER_RESTORATION: nVis = VFX_IMP_RESTORATION_GREATER; break;
|
||||
case SPELL_RESTORATION: nVis = VFX_IMP_RESTORATION; break;
|
||||
case SPELL_LESSER_RESTORATION: nVis = VFX_IMP_RESTORATION_LESSER; break;
|
||||
default: nVis = VFX_IMP_REMOVE_CONDITION; break;
|
||||
}
|
||||
if(nSpellID == SPELL_REMOVE_BLINDNESS_AND_DEAFNESS)
|
||||
{ //Remove Blindness and Deafness aoe hack largely untouched
|
||||
effect eLink;
|
||||
PRCGenericAreaOfEffect(OBJECT_SELF, PRCGetSpellTargetLocation(), SHAPE_SPHERE, RADIUS_SIZE_MEDIUM,
|
||||
SPELL_REMOVE_BLINDNESS_AND_DEAFNESS, EffectVisualEffect(VFX_FNF_LOS_HOLY_30), eLink, EffectVisualEffect(nVis),
|
||||
DURATION_TYPE_INSTANT, 0.0,
|
||||
SPELL_TARGET_ALLALLIES, FALSE, TRUE, EFFECT_TYPE_BLINDNESS, EFFECT_TYPE_DEAF);
|
||||
return TRUE;
|
||||
}
|
||||
effect eEffect = GetFirstEffect(oTarget);
|
||||
if(!((nSpellID == SPELL_PANACEA) && (MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD)))
|
||||
{
|
||||
while(GetIsEffectValid(eEffect))
|
||||
{ //Effect removal - see prc_sp_func for list of effects removed
|
||||
if(CheckRemoveEffects(nSpellID, GetEffectType(eEffect)) && !GetIsSupernaturalCurse(eEffect) && (GetEffectSubType(eEffect) != SUBTYPE_EXTRAORDINARY) && !GetShouldNotBeRemoved(eEffect))
|
||||
RemoveEffect(oTarget, eEffect);
|
||||
eEffect = GetNextEffect(oTarget);
|
||||
}
|
||||
}
|
||||
if(nSpellID == SPELL_GREATER_RESTORATION && MyPRCGetRacialType(oTarget) != RACIAL_TYPE_UNDEAD
|
||||
&& !(GetHasFeat(FEAT_TOMB_TAINTED_SOUL, oTarget) && GetAlignmentGoodEvil(oTarget) != ALIGNMENT_GOOD))
|
||||
{ //Greater Restoration healing
|
||||
int nHeal = 10 * nCasterLevel;
|
||||
if(nHeal > 250 && !GetPRCSwitch(PRC_BIOWARE_GRRESTORE))
|
||||
nHeal = 250;
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, PRCEffectHeal(nHeal, oTarget), oTarget);
|
||||
SetLocalInt(oTarget, "WasRestored", TRUE);
|
||||
DelayCommand(HoursToSeconds(1), DeleteLocalInt(oTarget, "WasRestored"));
|
||||
}
|
||||
if(nSpellID == SPELL_PANACEA)
|
||||
{
|
||||
int nAdd = (nCasterLevel > 20) ? 20 : nCasterLevel;
|
||||
if((MyPRCGetRacialType(oTarget) == RACIAL_TYPE_UNDEAD || (GetHasFeat(FEAT_TOMB_TAINTED_SOUL, oTarget) && GetAlignmentGoodEvil(oTarget) != ALIGNMENT_GOOD))
|
||||
&& (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster)))
|
||||
{
|
||||
PRCSignalSpellEvent(oTarget);
|
||||
if (!PRCDoResistSpell(oCaster, oTarget, nCasterLevel + SPGetPenetr()))
|
||||
{
|
||||
iAttackRoll = PRCDoMeleeTouchAttack(oTarget);
|
||||
if (iAttackRoll)
|
||||
{
|
||||
// Roll the damage (allowing for a critical) and let the target make a will save to
|
||||
// halve the damage.
|
||||
int nDamage = PRCGetMetaMagicDamage(DAMAGE_TYPE_POSITIVE, 1 == iAttackRoll ? 1 : 2, 8, 0, nAdd);
|
||||
if (PRCMySavingThrow(SAVING_THROW_WILL, oTarget, PRCGetSaveDC(oTarget,OBJECT_SELF)))
|
||||
{
|
||||
nDamage /= 2;
|
||||
if (GetHasMettle(oTarget, SAVING_THROW_WILL)) nDamage = 0;
|
||||
}
|
||||
// Apply damage and VFX.
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, PRCEffectDamage(oTarget, nDamage, DAMAGE_TYPE_POSITIVE), oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_SUNSTRIKE), oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Roll the healing 'damage'.
|
||||
int nHeal = PRCGetMetaMagicDamage(DAMAGE_TYPE_POSITIVE, 1, 8, 0, nAdd);
|
||||
// Apply the healing and VFX.
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, PRCEffectHeal(nHeal, oTarget), oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_HEALING_M), oTarget);
|
||||
}
|
||||
}
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, nSpellID, FALSE));
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(nVis), oTarget);
|
||||
|
||||
return iAttackRoll; //return TRUE if spell charges should be decremented
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
object oCaster = OBJECT_SELF;
|
||||
int bValid = FALSE;
|
||||
int nCasterLevel = PRCGetCasterLevel(oCaster);
|
||||
PRCSetSchool(GetSpellSchool(PRCGetSpellId()));
|
||||
if (!X2PreSpellCastCode()) return;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nEvent = GetLocalInt(oCaster, PRC_SPELL_EVENT); //use bitwise & to extract flags
|
||||
if(!nEvent) //normal cast
|
||||
{
|
||||
if(GetLocalInt(oCaster, PRC_SPELL_HOLD) && oCaster == oTarget)
|
||||
{ //holding the charge, casting spell on self
|
||||
SetLocalSpellVariables(oCaster, 1); //change 1 to number of charges
|
||||
return;
|
||||
}
|
||||
DoSpell(oCaster, oTarget, nCasterLevel, nEvent);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(nEvent & PRC_SPELL_EVENT_ATTACK)
|
||||
{
|
||||
if(DoSpell(oCaster, oTarget, nCasterLevel, nEvent))
|
||||
DecrementSpellCharges(oCaster);
|
||||
}
|
||||
}
|
||||
if ( GetLocalInt(oTarget,"hunefer_rot") )
|
||||
{
|
||||
SendMessageToPC(oTarget,"Recovered from Hunefer Rot");
|
||||
SetLocalInt(oTarget,"hunefer_rot",0);
|
||||
bValid = TRUE;
|
||||
}
|
||||
PRCSetSchool();
|
||||
}
|
@@ -5,45 +5,69 @@
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creature must make a ranged touch attack to hit
|
||||
the intended target. Reflex or Will save is
|
||||
needed to halve damage or avoid effect.
|
||||
the intended target.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 11 , 2001
|
||||
//:: Updated On: July 15, 2003 Georg Zoeller - Removed saving throws
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
//#include "wm_include"
|
||||
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt = EffectNegativeLevel(1);
|
||||
|
||||
int bSpecial = GetLocalInt(OBJECT_SELF,"SPECIAL_DRAIN_BOLT");
|
||||
if ( bSpecial )
|
||||
eBolt = EffectNegativeLevel(4);
|
||||
int nDC = 10 +nCHAMod+ (nHD/2);
|
||||
int nCount = nHD/5;
|
||||
if (nCount == 0) { nCount = 1; }
|
||||
int nDamage = d6(nCount);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
|
||||
effect eBolt = EffectNegativeLevel(1);
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_LEVEL_DRAIN));
|
||||
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_LEVEL_DRAIN));
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
|
||||
int nResult = TouchAttackRanged(oTarget);
|
||||
if (nResult)
|
||||
{
|
||||
//eBolt = LEVEL DRAIN EFFECT
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
if ( bSpecial )
|
||||
{
|
||||
int nHeal = 40;
|
||||
if ( nResult == 2 && !GetIsImmune(oTarget,IMMUNITY_TYPE_CRITICAL_HIT) && bSpecial )
|
||||
{
|
||||
eBolt = EffectNegativeLevel(8);
|
||||
nHeal *= 2;
|
||||
}
|
||||
effect eHeal = EffectHeal(nHeal);
|
||||
effect eHealVis = EffectVisualEffect(VFX_IMP_HEALING_L);
|
||||
if ( !GetIsImmune(oTarget,IMMUNITY_TYPE_NEGATIVE_LEVEL) )
|
||||
{
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT,eHeal,OBJECT_SELF);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT,eHealVis,OBJECT_SELF);
|
||||
}
|
||||
}
|
||||
//Make a saving throw check
|
||||
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
|
||||
{
|
||||
//eBolt = LEVEL DRAIN EFFECT
|
||||
eBolt = SupernaturalEffect(eBolt);
|
||||
//Apply the VFX impact and effects
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
BIN
_content/ratdog_top/nw_s1_dragcold.ncs
Normal file
135
_content/ratdog_top/nw_s1_dragcold.nss
Normal file
@@ -0,0 +1,135 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Dragon Breath Cold
|
||||
//:: NW_S1_DragCold
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Calculates the proper damage and DC Save for the
|
||||
breath weapon based on the HD of the dragon.
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 9, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
void main()
|
||||
{
|
||||
//Declare major variables
|
||||
int nAge = GetHitDice(OBJECT_SELF);
|
||||
int nDamage, nDC, nDamStrike;
|
||||
float fDelay;
|
||||
object oTarget;
|
||||
effect eVis, eBreath;
|
||||
|
||||
//Use the HD of the creature to determine damage and save DC
|
||||
if (nAge <= 6) //Wyrmling
|
||||
{
|
||||
nDamage = d6(1);
|
||||
nDC = 12;
|
||||
}
|
||||
else if (nAge >= 7 && nAge <= 9) //Very Young
|
||||
{
|
||||
nDamage = d6(2);
|
||||
nDC = 14;
|
||||
}
|
||||
else if (nAge >= 10 && nAge <= 12) //Young
|
||||
{
|
||||
nDamage = d6(3);
|
||||
nDC = 16;
|
||||
}
|
||||
else if (nAge >= 13 && nAge <= 15) //Juvenile
|
||||
{
|
||||
nDamage = d6(4);
|
||||
nDC = 18;
|
||||
}
|
||||
else if (nAge >= 16 && nAge <= 18) //Young Adult
|
||||
{
|
||||
nDamage = d6(5);
|
||||
nDC = 20;
|
||||
}
|
||||
else if (nAge >= 19 && nAge <= 21) //Adult
|
||||
{
|
||||
nDamage = d6(6);
|
||||
nDC = 23;
|
||||
}
|
||||
else if (nAge >= 22 && nAge <= 24) //Mature Adult
|
||||
{
|
||||
nDamage = d6(7);
|
||||
nDC = 25;
|
||||
}
|
||||
else if (nAge >= 25 && nAge <= 27) //Old
|
||||
{
|
||||
nDamage = d6(8);
|
||||
nDC = 27;
|
||||
}
|
||||
else if (nAge >= 28 && nAge <= 30) //Very Old
|
||||
{
|
||||
nDamage = d6(9);
|
||||
nDC = 29;
|
||||
}
|
||||
else if (nAge >= 31 && nAge <= 33) //Ancient
|
||||
{
|
||||
nDamage = d6(10);
|
||||
nDC = 31;
|
||||
}
|
||||
else if (nAge >= 34 && nAge <= 37) //Wyrm
|
||||
{
|
||||
nDamage = d6(11);
|
||||
nDC = 33;
|
||||
}
|
||||
else if (nAge > 37) //Great Wyrm
|
||||
{
|
||||
nDamage = d6(12);
|
||||
nDC = 36;
|
||||
}
|
||||
if ( GetLocalInt(OBJECT_SELF,"CUSTOM_COLD_BREATH") )
|
||||
{
|
||||
nDamage = d6(12);
|
||||
nDC = 10 + nAge / 2 + GetAbilityModifier(ABILITY_CONSTITUTION);
|
||||
}
|
||||
|
||||
PlayDragonBattleCry();
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 14.0, PRCGetSpellTargetLocation(), TRUE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(oTarget != OBJECT_SELF && !GetIsReactionTypeFriendly(oTarget))
|
||||
{
|
||||
fDelay = GetDistanceBetween(OBJECT_SELF, oTarget)/20;
|
||||
//Reset the damage to full
|
||||
nDamStrike = nDamage;
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_DRAGON_BREATH_COLD));
|
||||
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
|
||||
if(PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC, SAVING_THROW_TYPE_COLD, OBJECT_SELF, fDelay))
|
||||
{
|
||||
nDamStrike = nDamStrike/2;
|
||||
if(GetHasFeat(FEAT_EVASION, oTarget) || GetHasFeat(FEAT_IMPROVED_EVASION, oTarget))
|
||||
{
|
||||
nDamStrike = 0;
|
||||
}
|
||||
}
|
||||
else if(GetHasFeat(FEAT_IMPROVED_EVASION, oTarget))
|
||||
{
|
||||
nDamStrike = nDamStrike/2;
|
||||
}
|
||||
if (nDamStrike > 0)
|
||||
{
|
||||
//Set Damage and VFX
|
||||
eBreath = EffectDamage(nDamStrike, DAMAGE_TYPE_COLD);
|
||||
eVis = EffectVisualEffect(VFX_IMP_FROST_S);
|
||||
//Determine effect delay
|
||||
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eBreath, oTarget));
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 14.0, GetSpellTargetLocation(), TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -11,48 +11,42 @@
|
||||
//:: Created By: Preston Watamaniuk
|
||||
//:: Created On: May 14, 2000
|
||||
//:://////////////////////////////////////////////
|
||||
//#include "wm_include"
|
||||
#include "NW_I0_SPELLS"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
#include "NW_I0_SPELLS"
|
||||
void main()
|
||||
{
|
||||
//if (WildMagicOverride()) { return; }
|
||||
|
||||
//:: Declare major variables
|
||||
object oNPC = OBJECT_SELF;
|
||||
object oTarget;
|
||||
|
||||
int nHD = GetHitDice(oNPC);
|
||||
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
|
||||
int nDC = 10 +nCHAMod+ (nHD/4);
|
||||
int nDuration = 1 + (nHD/4);
|
||||
|
||||
float fDelay;
|
||||
//Declare major variables
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
|
||||
effect eHowl = EffectStunned();
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
|
||||
effect eHowl = EffectStunned();
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eDur2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
|
||||
effect eImpact = EffectVisualEffect(VFX_FNF_HOWL_MIND);
|
||||
effect eLink = EffectLinkEffects(eHowl, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eDur2);
|
||||
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, oNPC);
|
||||
|
||||
effect eLink = EffectLinkEffects(eHowl, eDur);
|
||||
eLink = EffectLinkEffects(eLink, eDur2);
|
||||
int nHD = GetHitDice(OBJECT_SELF);
|
||||
int nDC = 10 + (nHD/4);
|
||||
int nDuration = 1 + (nHD/4);
|
||||
if ( GetLocalInt(OBJECT_SELF,"SPECIAL_STUNNING_ROAR") )
|
||||
{
|
||||
nDC = 10 + nHD / 2 + GetAbilityModifier(ABILITY_CONSTITUTION);
|
||||
nDuration = d4();
|
||||
}
|
||||
float fDelay;
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, eImpact, OBJECT_SELF);
|
||||
//Get first target in spell area
|
||||
oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(OBJECT_SELF));
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != oNPC)
|
||||
if(!GetIsReactionTypeFriendly(oTarget) && !GetIsFriend(oTarget) && oTarget != OBJECT_SELF)
|
||||
{
|
||||
fDelay = GetDistanceToObject(oTarget)/10;
|
||||
nDuration = GetScaledDuration(nDuration , oTarget);
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_HOWL_STUN));
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_HOWL_STUN));
|
||||
|
||||
//Make a saving throw check
|
||||
if(!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
|
||||
if(!/*Will Save*/ MySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
|
||||
@@ -60,7 +54,7 @@ void main()
|
||||
}
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(oNPC));
|
||||
}
|
||||
}
|
||||
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_COLOSSAL, GetLocation(OBJECT_SELF));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -3367,7 +3367,7 @@
|
||||
3363 **** **** **** **** **** cep_reserv
|
||||
3364 **** **** **** **** **** cep_reserv
|
||||
3365 **** **** **** **** **** cep_reserv
|
||||
3366 **** **** **** **** **** cep_reserv
|
||||
3366 crocgator_ 4 8 **** 0 ****
|
||||
3367 **** **** **** **** **** cep_reserv
|
||||
3368 **** **** **** **** **** cep_reserv
|
||||
3369 **** **** **** **** **** cep_reserv
|
||||
|
@@ -16404,7 +16404,7 @@
|
||||
16400 **** **** ****
|
||||
16401 **** **** ****
|
||||
16402 **** **** ****
|
||||
16403 **** **** ****
|
||||
16403 "Alligator* (Project Q)" qc_alligator ****
|
||||
16404 **** **** ****
|
||||
16405 **** **** ****
|
||||
16406 **** **** ****
|
||||
|