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 **** **** ****
|
||||
|
@ -677,7 +677,7 @@
|
||||
},
|
||||
"Version": {
|
||||
"type": "dword",
|
||||
"value": 103
|
||||
"value": 108
|
||||
},
|
||||
"Width": {
|
||||
"type": "int",
|
||||
|
@ -54,15 +54,15 @@
|
||||
},
|
||||
"LoadScreenID": {
|
||||
"type": "word",
|
||||
"value": 0
|
||||
"value": 60
|
||||
},
|
||||
"ModListenCheck": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
"value": -3
|
||||
},
|
||||
"ModSpotCheck": {
|
||||
"type": "int",
|
||||
"value": 0
|
||||
"value": -3
|
||||
},
|
||||
"MoonAmbientColor": {
|
||||
"type": "dword",
|
||||
@ -96,7 +96,7 @@
|
||||
},
|
||||
"OnEnter": {
|
||||
"type": "resref",
|
||||
"value": "ra_onareaeter"
|
||||
"value": "ra_onareaenter"
|
||||
},
|
||||
"OnExit": {
|
||||
"type": "resref",
|
||||
@ -11169,7 +11169,7 @@
|
||||
},
|
||||
"Version": {
|
||||
"type": "dword",
|
||||
"value": 9
|
||||
"value": 20
|
||||
},
|
||||
"Width": {
|
||||
"type": "int",
|
||||
|
@ -2,15 +2,7 @@
|
||||
"__data_type": "GIC ",
|
||||
"Creature List": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 4,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
}
|
||||
]
|
||||
"value": []
|
||||
},
|
||||
"Door List": {
|
||||
"type": "list",
|
||||
@ -26,35 +18,7 @@
|
||||
},
|
||||
"Encounter List": {
|
||||
"type": "list",
|
||||
"value": [
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
},
|
||||
{
|
||||
"__struct_id": 7
|
||||
}
|
||||
]
|
||||
"value": []
|
||||
},
|
||||
"List": {
|
||||
"type": "list",
|
||||
@ -724,6 +688,48 @@
|
||||
"type": "cexostring",
|
||||
"value": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||
}
|
||||
},
|
||||
{
|
||||
"__struct_id": 5,
|
||||
"Comment": {
|
||||
"type": "cexostring",
|
||||
"value": "This is the default waypoint you may place to set a patrol path for a creature or NPC.\r\n1. Create the creature and either use its current Tag or fill in a new one.\r\n2. Place or make sure the WalkWayPoints() is within the body of the On Spawn script for the creature.\r\n3. Place a series of waypoints along the route you wish the creature to walk.\r\n4. Select all of the newly created waypoints and right click. Choose the Create Set option.\r\n5. The waypoint set will have a set name of \"WP_\" + NPC Tag. Thus if an NPC with the Tag \"Guard\" will have a waypoint set called \"WP_Guard\". Note that Tags are case sensitive."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -1782,7 +1782,7 @@
|
||||
"Mod_Description": {
|
||||
"type": "cexolocstring",
|
||||
"value": {
|
||||
"0": "Beyond the Dungeon of Graves v1.4\n\nOriginally by: Tolen\n\nUpdated by: Jaysyn\n\nBased on Rappan Athuk: The Dungeon of Graves, published by Necromancer Games.\n\nRequires CEP 1, CEP 3 & PRC 4.1.10+\n\nDiscord: https://discord.gg/vFNhmKgH7W\n\nGitHub: https://github.com/Jaysyn904/RATDOG"
|
||||
"0": "Beyond the Dungeon of Graves v1.4.1\n\nOriginally by: Tolen\n\nUpdated by: Jaysyn\n\nBased on Rappan Athuk: The Dungeon of Graves, published by Necromancer Games.\n\nRequires CEP 1, CEP 3 & PRC 4.1.10+\n\nDiscord: https://discord.gg/vFNhmKgH7W\n\nGitHub: https://github.com/Jaysyn904/RATDOG"
|
||||
}
|
||||
},
|
||||
"Mod_DuskHour": {
|
||||
|