Initial commit

Initial commit [v9.7]
This commit is contained in:
Jaysyn904 2025-04-03 12:54:47 -04:00
parent ff5835fcc7
commit ebc0c6a9b2
11298 changed files with 9432842 additions and 2 deletions
.gitignoreREADME.md
_content
BuildHaks.cmdCompiler - Top Hak.bat
_hak
ln_media
ln_top

3
.gitignore vendored Normal file

@ -0,0 +1,3 @@
*.mod
*.hak
*.md5

@ -1,3 +1,9 @@
# Lankhmar_PRC8
# Lankhmar Nights [PRC8]
Repository for the PRC8 version of "Lankhmar Nights".
Repository for the PRC8 version of "Lankhmar Nights".
https://neverwintervault.org/project/nwn1/module/lankhmar-nights
# Requirements
* PRC8
* ProjectQ v3.1

3
_content/BuildHaks.cmd Normal file

@ -0,0 +1,3 @@
cd _tools\
NWN.CLI.exe -k
cd ..

@ -0,0 +1,4 @@
:loop
"C:\NWN Work\nwnsc.exe" -o -w -n "C:\Games\Steam\steamapps\common\Neverwinter Nights" -i "D:\NWN Repos\Lankhmar_PRC\_content\_hak\ln_top";"D:\NWN Repos\PRC8\nwn\nwnprc\trunk\include" "D:\NWN Repos\Lankhmar_PRC\_content\_hak\ln_top\*.nss"
if %errorLevel% == -1 goto :loop
pause

Binary file not shown.

Binary file not shown.

After

(image error) Size: 474 KiB

Binary file not shown.

After

(image error) Size: 834 KiB

Binary file not shown.

After

(image error) Size: 1.4 MiB

Binary file not shown.

After

(image error) Size: 554 KiB

Binary file not shown.

After

(image error) Size: 4.1 MiB

Binary file not shown.

After

(image error) Size: 1.2 MiB

Binary file not shown.

After

(image error) Size: 1.1 MiB

Binary file not shown.

After

(image error) Size: 1.1 MiB

Binary file not shown.

After

(image error) Size: 788 KiB

Binary file not shown.

After

(image error) Size: 2.9 MiB

Binary file not shown.

After

(image error) Size: 658 KiB

Binary file not shown.

After

(image error) Size: 1.6 MiB

Binary file not shown.

After

(image error) Size: 844 KiB

Binary file not shown.

After

(image error) Size: 1.3 MiB

Binary file not shown.

After

(image error) Size: 4.7 MiB

Binary file not shown.

After

(image error) Size: 2.5 MiB

@ -0,0 +1,394 @@
2DA V2.0
Description Resource Stinger1 Stinger2 Stinger3 DisplayName
0 61901 **** **** **** **** ****
1 61842 mus_ruralday1 **** **** **** ****
2 61843 mus_ruralday2 **** **** **** ****
3 61844 mus_ruralnite **** **** **** ****
4 61845 mus_forestday1 **** **** **** ****
5 61846 mus_forestday2 **** **** **** ****
6 61847 mus_forestnite **** **** **** ****
7 61848 mus_gendungeon1 **** **** **** ****
8 61849 mus_sewer **** **** **** ****
9 61850 mus_mines1 **** **** **** ****
10 61851 mus_mines2 **** **** **** ****
11 61852 mus_crypt1 **** **** **** ****
12 61853 mus_crypt2 **** **** **** ****
13 61854 mus_evildungeon1 **** **** **** ****
14 61855 mus_evildungeon2 **** **** **** ****
15 61856 mus_cityslumday **** **** **** ****
16 61857 mus_cityslumnite **** **** **** ****
17 61858 mus_citydockday **** **** **** ****
18 61859 mus_citydocknite **** **** **** ****
19 61860 mus_citywealthy **** **** **** ****
20 61861 mus_citymarket **** **** **** ****
21 61862 mus_citynite **** **** **** ****
22 61863 mus_tavern1 **** **** **** ****
23 61864 mus_tavern2 **** **** **** ****
24 61865 mus_tavern3 **** **** **** ****
25 61866 mus_richhouse **** **** **** ****
26 61867 mus_store **** **** **** ****
27 61868 mus_templegood **** **** **** ****
28 61869 mus_templeevil **** **** **** ****
29 61870 mus_theme_nwn **** **** **** ****
30 61871 mus_theme_chap1 **** **** **** ****
31 61872 mus_theme_chap2 **** **** **** ****
32 61873 mus_theme_chap3 **** **** **** ****
33 61874 mus_theme_chap4 **** **** **** ****
34 61875 mus_bat_rural1 mus_sbat_rural1 **** **** ****
35 61876 mus_bat_forest1 mus_sbat_forest1 **** **** ****
36 61877 mus_bat_forest2 mus_sbat_forest2 **** **** ****
37 61878 mus_bat_dung1 mus_sbat_dung1 **** **** ****
38 61879 mus_bat_dung2 mus_sbat_dung2 **** **** ****
39 61880 mus_bat_dung3 mus_sbat_dung3 **** **** ****
40 61881 mus_bat_city1 mus_sbat_city1 **** **** ****
41 61882 mus_bat_city2 mus_sbat_city2 **** **** ****
42 61883 mus_bat_city3 mus_sbat_city3 **** **** ****
43 61884 mus_bat_citboss mus_sbat_citboss **** **** ****
44 61885 mus_bat_forboss mus_sbat_forboss **** **** ****
45 61886 mus_bat_lizboss mus_sbat_lizboss **** **** ****
46 61887 mus_bat_dragon mus_sbat_dragon **** **** ****
47 61888 mus_bat_aribeth mus_sbat_aribeth **** **** ****
48 61889 mus_bat_endboss mus_sbat_endboss **** **** ****
49 66833 mus_templegood2 **** **** **** ****
50 66883 mus_castle **** **** **** ****
51 66878 mus_theme_aribgd **** **** **** ****
52 66879 mus_theme_aribev **** **** **** ****
53 66880 mus_theme_argend **** **** **** ****
54 66881 mus_theme_maugrm **** **** **** ****
55 66882 mus_theme_morag **** **** **** ****
56 67545 mus_tavern4 **** **** **** ****
57 8807 mus_bat_x0desert **** **** **** ****
58 8806 mus_x0desertday **** **** **** ****
59 8805 mus_x0winterday **** **** **** ****
60 52827 mus_bat_x0winter **** **** **** ****
61 40050 mus_x0desertngt **** **** **** ****
62 86656 mus_x2theme **** **** **** ****
63 86657 mus_x2waterdeep **** **** **** ****
64 86658 mus_x2undermtn **** **** **** ****
65 86659 mus_x2rebelcamp **** **** **** ****
66 86660 mus_x2fireplane **** **** **** ****
67 86661 mus_x2queen **** **** **** ****
68 86662 mus_x2frozenhell **** **** **** ****
69 86663 mus_x2draco **** **** **** ****
70 86664 mus_bat_x2small mus_sbat_x2small **** **** ****
71 86665 mus_bat_x2med mus_sbat_x2med **** **** ****
72 86666 mus_bat_x2large mus_sbat_x2large **** **** ****
73 86667 mus_bat_x2hell mus_sbat_x2hell **** **** ****
74 86668 mus_bat_x2boss1 mus_sbat_x2boss1 **** **** ****
75 86669 mus_bat_x2boss2 mus_sbat_x2boss2 **** **** ****
76 110653 mus_dd_kingmaker **** **** **** ****
77 110654 mus_dd_shadowgua **** **** **** ****
78 110655 mus_dd_witchwake **** **** **** ****
79 110725 mus_dd_islands **** **** **** ****
80 110726 mus_dd_pirates **** **** **** ****
81 111903 mus_dd_infdun **** **** **** ****
82 111906 mus_wc_ogma **** **** **** ****
83 111911 mus_wc_openroad **** **** **** ****
84 111914 mus_wc_smokeash **** **** **** ****
85 111912 mus_wc_rural **** **** **** ****
86 111913 mus_wc_ruralg **** **** **** ****
87 111916 mus_wc_tears **** **** **** ****
88 111908 mus_bat_wcchase mus_sbat_wcchase **** **** ****
89 111917 mus_wc_theme **** **** **** ****
90 111904 mus_wc_armchair **** **** **** ****
91 111907 mus_bat_wcbattle mus_sbat_wcbattle **** **** ****
92 111915 mus_wc_solace **** **** **** ****
93 111905 mus_wc_knighted **** **** **** ****
94 111910 mus_wc_opening **** **** **** ****
95 111909 mus_wc_morfen **** **** **** ****
96 16798077 mus_dag_theme **** **** **** ****
97 16798078 mus_dag_mines **** **** **** ****
98 16798079 mus_dag_rural **** **** **** ****
99 16798080 mus_dag_theme2 **** **** **** ****
100 **** mus_cmp100 **** **** **** "CMP: BG - Main Theme"
101 **** mus_cmp101 **** **** **** "CMP: BG - The Stage Is Set"
102 **** mus_cmp102 **** **** **** "CMP: BG - Candlekeep"
103 **** mus_cmp103 **** **** **** "CMP: BG - Attacked by Assassins"
104 **** mus_cmp104 **** **** **** "CMP: BG - Leaving Home"
105 **** mus_cmp105 **** **** **** "CMP: BG - Gorion's Battle"
106 **** mus_cmp106 **** **** **** "CMP: BG - Exploring the Plains"
107 **** mus_cmp107 **** **** **** "CMP: BG - Hobgoblins & Worgs"
108 **** mus_cmp108 **** **** **** "CMP: BG - Night on the Plains"
109 **** mus_cmp109 **** **** **** "CMP: BG - The Gibberling Horde"
110 **** mus_cmp110 **** **** **** "CMP: BG - Helm's Temple"
111 **** mus_cmp111 **** **** **** "CMP: BG - The Ruins of Ulcaster"
112 **** mus_cmp112 **** **** **** "CMP: BG - Swords Against Darkness"
113 **** mus_cmp113 **** **** **** "CMP: BG - Safe in Beregost"
114 **** mus_cmp114 **** **** **** "CMP: BG - The Beregost Night"
115 **** mus_cmp115 **** **** **** "CMP: BG - Attacked by Bounty Hunters"
116 **** mus_cmp116 **** **** **** "CMP: BG - Cloakwood Forest"
117 **** mus_cmp117 **** **** **** "CMP: BG - Giant Spiders"
118 **** mus_cmp118 **** **** **** "CMP: BG - Night in Cloakwood"
119 **** mus_cmp119 **** **** **** "CMP: BG - From Out of the Storm"
120 **** mus_cmp120 **** **** **** "CMP: BG - The Friendly Arms Inn"
121 **** mus_cmp121 **** **** **** "CMP: BG - The Dream"
122 **** mus_cmp122 **** **** **** "CMP: BG - Stealth in the Bandit Camp"
123 **** mus_cmp123 **** **** **** "CMP: BG - Bandit Melee"
124 **** mus_cmp124 **** **** **** "CMP: BG - Entering Baldur's Gate"
125 **** mus_cmp125 **** **** **** "CMP: BG - Streets Of The City"
126 **** mus_cmp126 **** **** **** "CMP: BG - Night Falls on Baldur's Gate"
127 **** mus_cmp127 **** **** **** "CMP: BG - The Lady's House"
128 **** mus_cmp128 **** **** **** "CMP: BG - Down to the Sewers"
129 **** mus_cmp129 **** **** **** "CMP: BG - Fighting for Survival"
130 **** mus_cmp130 **** **** **** "CMP: BG - Ever Deeper"
131 **** mus_cmp131 **** **** **** "CMP: BG - The Last Battle"
132 **** mus_cmp132 **** **** **** "CMP: BG - End of the Quest"
133 **** mus_cmp133 **** **** **** "CMP: BG2 - Forest Battle I"
134 **** mus_cmp134 **** **** **** "CMP: BAK - Riddle Chest"
135 **** mus_cmp135 **** **** **** "CMP: BG2 - Forest Battle II"
136 **** mus_cmp136 **** **** **** "CMP: BG2 - Plains Battle I"
137 **** mus_cmp137 **** **** **** "CMP: BG2 - Plains Battle II"
138 **** mus_cmp138 **** **** **** "CMP: BG2 - Mountain Battle I"
139 **** mus_cmp139 **** **** **** "CMP: BG2 - Mountain Battle II"
140 **** mus_cmp140 **** **** **** "CMP: BG2 - City Battle I"
141 **** mus_cmp141 **** **** **** "CMP: BG2 - City Battle II"
142 **** mus_cmp142 **** **** **** "CMP: BG2 - Nighttime in the Docks"
143 **** mus_cmp143 **** **** **** "CMP: BG2 - Main Title"
144 **** mus_cmp144 **** **** **** "CMP: BG2 - Battle and Peace"
145 **** mus_cmp145 **** **** **** "CMP: BG2 - Galean Bayle Sailing"
146 **** mus_cmp146 **** **** **** "CMP: BG2 - Asylum Journey"
147 **** mus_cmp147 **** **** **** "CMP: BG2 - Underdark"
148 **** mus_cmp148 **** **** **** "CMP: BG2 - City Gates"
149 **** mus_cmp149 **** **** **** "CMP: BG2 - Trademeet"
150 **** mus_cmp150 **** **** **** "CMP: BG2 - Waukeens Promenade"
151 **** mus_cmp151 **** **** **** "CMP: BG2 - The Pirate Isle"
152 **** mus_cmp152 **** **** **** "CMP: BG2 - Taverns"
153 **** mus_cmp153 **** **** **** "CMP: BG2 - The Domain of the Dragon"
154 **** mus_cmp154 **** **** **** "CMP: BG2 - Jon Irenicas Encounter Theme"
155 **** mus_cmp155 **** **** **** "CMP: BG2 - The Slums"
156 **** mus_cmp156 **** **** **** "CMP: BG2 - The Planar Sphere"
157 **** mus_cmp157 **** **** **** "CMP: BG2 - The Druid Grove"
158 **** mus_cmp158 **** **** **** "CMP: BG2 - The Asylum"
159 **** mus_cmp159 **** **** **** "CMP: BG2 - The Dreams"
160 **** mus_cmp160 **** **** **** "CMP: BG2 - Romance I"
161 **** mus_cmp161 **** **** **** "CMP: BG2 - Romance II"
162 **** mus_cmp162 **** **** **** "CMP: BG2 - The Bad"
163 **** mus_cmp163 **** **** **** "CMP: BG2 - The Good"
164 **** mus_cmp164 **** **** **** "CMP: BG2 - Sewer Battle"
165 **** mus_cmp165 **** **** **** "CMP: BG2 - Amongst the Sahaugin"
166 **** mus_cmp166 **** **** **** "CMP: BG2 - Shadow Battle"
167 **** mus_cmp167 **** **** **** "CMP: BGDA - The Dark Alliance"
168 **** mus_cmp168 **** **** **** "CMP: BGDA - Damnable Thieves"
169 **** mus_cmp169 **** **** **** "CMP: BGDA - Ghost Of The Tavern"
170 **** mus_cmp170 **** **** **** "CMP: BGDA - Critters In The Cellar"
171 **** mus_cmp171 **** **** **** "CMP: BGDA - Ethon Imprisoned"
172 **** mus_cmp172 **** **** **** "CMP: BGDA - Sinister Sewers"
173 **** mus_cmp173 **** **** **** "CMP: BGDA - Karnes Orders"
174 **** mus_cmp174 **** **** **** "CMP: BGDA - Cryptic Crypts"
175 **** mus_cmp175 **** **** **** "CMP: BGDA - Orb Of The Undead"
176 **** mus_cmp176 **** **** **** "CMP: BGDA - Shadow Over Baldurs Gate"
177 **** mus_cmp177 **** **** **** "CMP: U7 - Chamber"
178 **** mus_cmp178 **** **** **** "CMP: U7 - Stones"
179 **** mus_cmp179 **** **** **** "CMP: U7 - Torture"
180 **** mus_cmp180 **** **** **** "CMP: Bazaar"
181 **** mus_cmp181 **** **** **** "CMP: IWD - Vale of Shadows"
182 **** mus_cmp182 **** **** **** "CMP: IWD2 - Limha's Secret"
183 **** mus_cmp183 **** **** **** "CMP: IWD2 - Skeleton of a Town"
184 **** mus_cmp184 **** **** **** "CMP: IWD2 - Palisades Under Siege"
185 **** mus_cmp185 **** **** **** "CMP: Tavern 5"
186 **** mus_cmp186 **** **** **** "CMP: Tavern 6"
187 **** mus_cmp187 **** **** **** "CMP: Tavern 7"
188 **** mus_cmp188 **** **** **** "CMP: Tavern 8"
189 **** mus_cmp189 **** **** **** "CMP: Tavern 9"
190 **** mus_cmp190 **** **** **** "CMP: Tavern 10"
191 **** mus_cmp191 **** **** **** "CMP: Tavern - Moorish"
192 **** mus_cmp192 **** **** **** "CMP: Tavern - Mountain"
193 **** mus_cmp193 **** **** **** "CMP: Tavern - African"
194 **** mus_cmp194 **** **** **** "CMP: Halfling Tavern Song"
195 **** mus_cmp195 **** **** **** "CMP: Festival I"
196 **** mus_cmp196 **** **** **** "CMP: The Grove"
197 **** mus_cmp197 **** **** **** "CMP: Pariah I"
198 **** mus_cmp198 **** **** **** "CMP: Pariah II"
199 **** mus_cmp199 **** **** **** "CMP: Waltz of the Damned"
200 **** mus_cmp200 **** **** **** "CMP: Lost"
201 **** mus_cmp201 **** **** **** "CMP: Arena I"
202 **** mus_cmp202 **** **** **** "CMP: Assault"
203 **** mus_cmp203 **** **** **** "CMP: Battle Intro Loop"
204 **** mus_cmp204 **** **** **** "CMP: Amidst Barbarians"
205 **** mus_cmp205 **** **** **** "CMP: IWD - The Dragon's Eye"
206 **** mus_cmp206 **** **** **** "CMP: IWD - Drow and Orog Gate"
207 **** mus_cmp207 **** **** **** "CMP: IWD - Arundel's Home"
208 **** mus_cmp208 **** **** **** "CMP: IWD - Easthaven in Peace"
209 **** mus_cmp209 **** **** **** "CMP: Elves Melody"
210 **** mus_cmp210 **** **** **** "CMP: IWD - End Credits"
211 **** mus_cmp211 **** **** **** "CMP: IWD - Icewind Dale Intro"
212 **** mus_cmp212 **** **** **** "CMP: From Prince to King"
213 **** mus_cmp213 **** **** **** "CMP: IWD - Severed Hand Interior"
214 **** mus_cmp214 **** **** **** "CMP: BAK - Magic Shoppe"
215 **** mus_cmp215 **** **** **** "CMP: The Far East"
216 **** mus_cmp216 **** **** **** "CMP: Celtic Dreams"
217 **** mus_cmp217 **** **** **** "CMP: Festival II"
218 **** mus_cmp218 **** **** **** "CMP: Catacombs"
219 **** mus_cmp219 **** **** **** "CMP: Silverbranch"
220 **** mus_cmp220 **** **** **** "CMP: Wintersmith"
221 **** mus_cmp221 **** **** **** "CMP: Wintersmith Nights"
222 **** mus_cmp222 **** **** **** "CMP: Wood by Night"
223 **** mus_cmp223 **** **** **** "CMP: IWD2 - Arrival at the Docks"
224 **** mus_cmp224 **** **** **** "CMP: Barracks"
225 **** mus_cmp225 **** **** **** "CMP: IWD2 - Return to Kuldahar"
226 **** mus_cmp226 **** **** **** "CMP: Set the Sails"
227 **** mus_cmp227 **** **** **** "CMP: Arena II"
228 **** mus_cmp228 **** **** **** "CMP: IWD2 - Sherincal of the Chimera"
229 **** mus_cmp229 **** **** **** "CMP: Fall from Grace"
230 **** mus_cmp230 **** **** **** "CMP: Misery"
231 **** mus_cmp231 **** **** **** "CMP: IWD2 - Reclaiming the Bridge"
232 **** mus_cmp232 **** **** **** "CMP: Sombre Brume"
233 **** mus_cmp233 **** **** **** "CMP: The Bard's Farewell"
234 **** mus_cmp234 **** **** **** "CMP: The Witcher - Beat Them Up"
235 **** mus_cmp235 **** **** **** "CMP: Caravan - Instrumental"
236 **** mus_cmp236 **** **** **** "CMP: Caravan - Short"
237 **** mus_cmp237 **** **** **** "CMP: Curse of the Baskervilles"
238 **** mus_cmp238 **** **** **** "CMP: The Elderwoods"
239 **** mus_cmp239 **** **** **** "CMP: Danica and Cadderly"
240 **** mus_cmp240 **** **** **** "CMP: Desert"
241 **** mus_cmp241 **** **** **** "CMP: Awakening"
242 **** mus_cmp242 **** **** **** "CMP: Elwynn's Theme"
243 **** mus_cmp243 **** **** **** "CMP: The Witcher - Golem"
244 **** mus_cmp244 **** **** **** "CMP: Graveyard"
245 **** mus_cmp245 **** **** **** "CMP: Liturgy"
246 **** mus_cmp246 **** **** **** "CMP: Los Dos"
247 **** mus_cmp247 **** **** **** "CMP: Magick's Heart"
248 **** mus_cmp248 **** **** **** "CMP: Max Payne 2 Theme"
249 **** mus_cmp249 **** **** **** "CMP: Morrowind Theme"
250 **** mus_cmp250 **** **** **** "CMP: Mournland"
251 **** mus_cmp251 **** **** **** "CMP: Morgrave"
252 **** mus_cmp252 **** **** **** "CMP: New Land"
253 **** mus_cmp253 **** **** **** "CMP: The Witcher - Old Manor"
254 **** mus_cmp254 **** **** **** "CMP: Orc Warning"
255 **** mus_cmp255 **** **** **** "CMP: Rosco's Respite"
256 **** mus_cmp256 **** **** **** "CMP: The Witcher - Shaent Blathanna"
257 **** mus_cmp257 **** **** **** "CMP: Sorrow's Gate"
258 **** mus_cmp258 **** **** **** "CMP: The Witcher - Tales of the Witcher"
259 **** mus_cmp259 **** **** **** "CMP: Tavern Song"
260 **** mus_cmp260 **** **** **** "CMP: BAK - Theme"
261 **** mus_cmp261 **** **** **** "CMP: The Dark Eye of the Night"
262 **** mus_cmp262 **** **** **** "CMP: The Mystery of the Ancients"
263 **** mus_cmp263 **** **** **** "CMP: The Sandstorm"
264 **** mus_cmp264 **** **** **** "CMP: The Skeleton King"
265 **** mus_cmp265 **** **** **** "CMP: The Climax"
266 **** mus_cmp266 **** **** **** "CMP: Lullaby for Harp"
267 **** mus_cmp267 **** **** **** "CMP: Tranquil House"
268 **** mus_cmp268 **** **** **** "CMP: Tribes"
269 **** mus_cmp269 **** **** **** "CMP: Valor without Renown"
270 **** mus_cmp270 **** **** **** "CMP: Vesparo's Vixen"
271 **** mus_cmp271 **** **** **** "CMP: Wandering I"
272 **** mus_cmp272 **** **** **** "CMP: Wandering II"
273 **** mus_cmp273 **** **** **** "CMP: Mysterious"
274 **** mus_cmp274 **** **** **** "CMP: Wood Flute in Forest"
275 **** mus_cmp275 **** **** **** "CMP: Moonsea Depths"
276 **** mus_cmp276 **** **** **** "CMP: IWD - Bonus I"
277 **** mus_cmp277 **** **** **** "CMP: Voolnar"
278 **** mus_cmp278 **** **** **** "CMP: Whispering Sands"
279 **** mus_cmp279 **** **** **** "CMP: World Map"
280 **** mus_cmp280 **** **** **** "CMP: BAK - Theme Choir"
281 **** mus_cmp281 **** **** **** "CMP: BAK - Theme Trumpets"
282 **** mus_cmp282 **** **** **** "CMP: BAK - Theme Woods"
283 **** mus_cmp283 **** **** **** "CMP: BAK - Alchemist"
284 **** mus_cmp284 **** **** **** "CMP: BAK - Boohoo"
285 **** mus_cmp285 **** **** **** "CMP: BAK - Happy City"
286 **** mus_cmp286 **** **** **** "CMP: BAK - City"
287 **** mus_cmp287 **** **** **** "CMP: BAK - Underground"
288 **** mus_cmp288 **** **** **** "CMP: BAK - Wealthy City"
289 **** mus_cmp289 **** **** **** "CMP: March to Battle"
290 **** mus_cmp290 **** **** **** "CMP: Hzateca"
291 **** mus_cmp291 **** **** **** "CMP: Voice Wood - Avenger"
292 **** mus_cmp292 **** **** **** "CMP: BAK - Lute Wealthy City"
293 **** mus_cmp293 **** **** **** "CMP: BAK - Lute Strange City"
294 **** mus_cmp294 **** **** **** "CMP: BAK - Monastery"
295 **** mus_cmp295 **** **** **** "CMP: BAK - The Prince's Wife"
296 **** mus_cmp296 **** **** **** "CMP: BAK - Lady Krondor"
297 **** mus_cmp297 **** **** **** "CMP: BAK - Beginning Scene"
298 **** mus_cmp298 **** **** **** "CMP: Temples"
299 **** mus_cmp299 **** **** **** "CMP: Werbergar"
300 **** mus_cmp300 **** **** **** "CMP: Morrowind Battle Theme"
301 **** mus_cmp301 **** **** **** "CMP: Another Sunrise"
302 **** mus_cmp302 **** **** **** "CMP: Away Team"
303 **** mus_cmp303 **** **** **** "CMP: Caves"
304 **** mus_cmp304 **** **** **** "CMP: The Eternal Forest"
305 **** mus_cmp305 **** **** **** "CMP: IWD - Bonus II"
306 **** mus_cmp306 **** **** **** "CMP: The Last Stand"
307 **** mus_cmp307 **** **** **** "CMP: Machine Hymn"
308 **** mus_cmp308 **** **** **** "CMP: March"
309 **** mus_cmp309 **** **** **** "CMP: Peaceful Village"
310 **** mus_cmp310 **** **** **** "CMP: Sky Fight"
311 **** mus_cmp311 **** **** **** "CMP: Beyond Enemy Lines"
312 **** mus_cmp312 **** **** **** "CMP: The Mystic"
313 **** mus_cmp313 **** **** **** "CMP: New Cove"
314 **** mus_cmp314 **** **** **** "CMP: Church Tombs"
315 **** mus_cmp315 **** **** **** "CMP: Darkness"
316 **** mus_cmp316 **** **** **** "CMP: Knights of the Pacific"
317 **** mus_cmp317 **** **** **** "CMP: Light Between Shadows"
318 **** mus_cmp318 **** **** **** "CMP: March of the Beast"
319 **** mus_cmp319 **** **** **** "CMP: Starboard Battle"
320 **** mus_cmp320 **** **** **** "CMP: Suspended"
321 **** mus_cmp321 **** **** **** "CMP: The Messenger"
322 **** mus_cmp322 **** **** **** "CMP: Vengeance"
323 **** mus_cmp323 **** **** **** "CMP: Sorcery"
324 **** mus_cmp324 **** **** **** "CMP: Ice Caves"
325 **** mus_cmp90 **** **** **** "CMP: Tavern - Thoughtful Jig"
326 **** mus_cmp91 **** **** **** "CMP: Noble House"
327 **** mus_cmp92 **** **** **** "CMP: The Cimmerian's Theme"
328 **** mus_cmp93 **** **** **** "CMP: Lionheart - Alamut"
329 **** mus_cmp94 **** **** **** "CMP: Lionheart - Slavers Abode"
330 **** mus_cmp95 **** **** **** "CMP: Lionheart - The Ether"
331 **** mus_cmp96 **** **** **** "CMP: Lionheart - Into the Crypts"
332 **** mus_cmp97 **** **** **** "CMP: IWD - Temple of Tempus"
333 **** mus_cmp98 **** **** **** "CMP: IWD - Temple of the Forgotten God"
334 **** mus_cmp99 **** **** **** "CMP: IWD - Kuldahar"
335 **** CMP_Reserved **** **** **** ****
336 **** CMP_Reserved **** **** **** ****
337 **** CMP_Reserved **** **** **** ****
338 **** CMP_Reserved **** **** **** ****
339 **** CMP_Reserved **** **** **** ****
340 **** CMP_Reserved **** **** **** ****
341 16798081 mus_dag_tavern **** **** **** ****
342 **** mus_theme_main **** **** **** "OC - Main Theme"
343 **** mus_new_advent **** **** **** "AL2-A New Adventure"
344 **** mus_action_theme **** **** **** "AL2-Action Theme"
345 **** mus_amidst_barbs **** **** **** "AL2-Amidst Barbarians"
346 **** mus_assault **** **** **** AL2-Assault
347 **** mus_elves_melody **** **** **** "AL2-Elven Melody"
348 **** mus_princetoking **** **** **** "AL2-From Prince to King"
349 **** mus_messenger_a **** **** **** "AL2-Messenger (Angel)"
350 **** mus_messenger_d **** **** **** "AL2-Messenger (Death)"
351 **** mus_suspended **** **** **** AL2-Suspended
352 **** mus_lonely_shep **** **** **** "AL2-Lonely Shepard"
353 **** mus_tribes **** **** **** AL2-Tribes
354 **** mus_valor **** **** **** AL2-Valor
355 **** mus_wintersmith **** **** **** AL2-Wintersmith
356 **** mus_winternight **** **** **** "AL2-Wintersmith Nights"
357 **** mus_bat_arena mus_bat_arena **** **** "PM-Arena Theme"
358 **** mus_dd_voonlar **** **** **** "PM-Voonlar Theme"
359 **** mus_dd_moonsea **** **** **** "PM-Moonsea Theme"
360 **** mus_hx1_44ths **** **** **** "HX1 - 4/4ths Time"
361 **** mus_hx1_cathedrl **** **** **** "HX1 - Cathedral Corporation (DJ)"
362 **** mus_hx1_main **** **** **** "HX1 - HeX Coda Main Theme"
363 **** mus_hx1_backwash **** **** **** "HX1 - Backwash Swirl"
364 **** mus_hx1_8bits **** **** **** "HX1 - 8 Bits of Irritation"
365 **** mus_hx1_memento **** **** **** "HX1 - Memento Mori"
366 **** mus_bat_kronos mus_sbat_kronos **** **** "HX1 - Time's Wrath"
367 **** mus_bat_hx1layer mus_sbat_hx1layer **** **** "HX1 - Layered Combat (CP)"
368 **** mus_hx1_hexhq **** **** **** "HX1 - Hex Coder H.Q. (DJ)"
369 **** mus_hx1_chaotic **** **** **** "HX1 - Sdrawkcab"
370 **** mus_hx1_tempus **** **** **** "HX1 - Tempus Ruins (DJ)"
371 **** mus_hx1_office **** **** **** "HX1 - Office Muzak (CP)"
372 **** mus_hx1_fugit **** **** **** "HX1 - Tempus Fugit (CP)"
373 **** mus_bat_airship mus_sbat_airship **** **** "HX1 - Aerial Rave (DJ)"
374 **** **** **** **** **** ****
375 **** mus_induction **** **** **** LN-Induction
376 **** mus_shadowland **** **** **** LN-Shadowland
377 **** mus_setavern **** **** **** "LN-The Silver Eel"
378 **** mus_tenderloin **** **** **** "LN-Tenderloin District-Night"
379 **** mus_slands **** **** **** "LN-Sinking Lands"
380 **** mus_angarngi **** **** **** "LN-Tower of Angarngi"
381 **** mus_bashse **** **** **** "LN-House of Basharat"
382 **** mus_catacombs **** **** **** LN-Catacombs
383 **** mus_gsmarsh **** **** **** "LN-Great Salt Marsh"
384 **** mus_rgshrine **** **** **** "LN-Red God Shrine"
385 **** mus_olord **** **** **** "LN-Rainbow Palace"
386 **** mus_catscradle **** **** **** "LN-Cat's Cradle"
387 **** mus_lcasino **** **** **** "LN-Last Chance Casino"
388 **** mus_myrriasplace **** **** **** "LN-Myrria's Place"
389 **** mus_stnbrdg3 **** **** **** "LN-Tenderloin District-Day"
390 **** mus_cmp90 **** **** **** "LN-The Golden Lamprey"

File diff suppressed because it is too large Load Diff

@ -0,0 +1,57 @@
2DA V2.0
Label ArmorType WeapTypeL WeapTypeR WeapTypeS WeapTypeClsLw WeapTypeClsH WeapTypeRch MissIndex Looping FallFwd FallBck
0 Humanoid_Normal **** **** **** **** **** **** **** **** **** bf_med_flesh bf_med_flesh
1 Humanoid_Large **** **** **** **** **** **** **** **** **** bf_large bf_large
2 Simple_Normal leather 0 0 0 0 0 0 0 **** bf_small bf_small
3 Simple_Large leather 0 0 0 0 0 0 0 **** bf_large bf_large
4 Bone_Golem chitin 4 4 4 4 4 4 4 **** bf_large bf_large
5 Birds leather 18 18 18 18 18 18 18 **** bf_tiny bf_tiny
6 Beetles_Spiders chitin 0 0 0 0 0 0 0 **** bf_med_insect bf_med_insect
7 Sword_Spider chitin 1 1 1 1 1 1 1 **** bf_med_insect bf_med_insect
8 Leather_Flesh leather **** **** **** **** **** **** **** **** bf_med_hard bf_med_hard
9 Plate plate **** **** **** **** **** **** **** **** bf_med_flesh bf_med_flesh
10 Chain chain **** **** **** **** **** **** **** **** bf_med_flesh bf_med_flesh
11 Stone stone **** **** **** **** **** **** **** **** bf_med_hard bf_med_hard
12 Wood wood **** **** **** **** **** **** **** **** bf_med_flesh bf_med_flesh
13 Chitin chitin **** **** **** **** **** **** **** **** bf_med_bone bf_med_bone
14 Scale scale **** **** **** **** **** **** **** **** bf_med_hard bf_med_hard
15 Ethereal_1 ethereal **** **** **** **** **** **** **** **** **** ****
16 Ethereal_2 ethereal **** **** **** **** **** **** **** fs_floatmoan **** ****
17 Ethereal_3 ethereal **** **** **** **** **** **** **** fs_floatexhale **** ****
18 Earth_Elemental stone 2 2 2 2 2 2 2 fs_floatlava bf_large bf_large
19 Fire_Elemental stone 0 0 0 0 0 0 0 fs_floatfire bf_med_hard bf_med_hard
20 Air_Elemental leather 0 0 0 0 0 0 0 fs_floatair **** ****
21 Water_Elemental leather 1 1 1 1 1 1 1 fs_floatwater bf_med_hard bf_med_hard
22 Dragon scale 1 1 1 1 1 1 1 **** bf_huge bf_huge
23 Fairy leather 18 18 18 18 18 18 18 fs_floattinkle bf_tiny bf_tiny
24 Slaad leather 0 2 2 2 2 2 2 **** bf_med_hard bf_med_hard
25 Battle_Horror plate **** **** **** **** **** **** **** fs_floatmoan bf_med_hard bf_med_hard
26 Mephit leather 0 0 0 0 0 0 0 **** bf_small bf_small
27 Gelatinous_Cube leather 0 0 0 0 0 0 0 fs_squishy bf_squish bf_squish
28 Metl_Golem plate 2 2 2 2 2 2 2 **** bf_large bf_large
29 Halaster leather 20 20 20 20 20 20 20 **** **** ****
30 Shark leather 21 21 21 21 21 21 21 **** **** ****
31 Crystalline crystal 2 2 2 2 2 2 2 **** **** ****
32 Treant wood 22 22 22 22 22 22 22 **** bf_treefall bf_treefall
33 CODI_Monodrone plate **** **** **** **** **** **** **** **** bf_metal_small bf_metal_small
34 CODI_Marut plate **** **** **** **** **** **** **** **** bf_metal_large bf_metal_large
35 SnowOwl leather 18 18 18 18 18 18 18 **** bf_tiny bf_tiny
36 Kuotoa leather **** **** **** **** **** **** **** **** bf_squish bf_squish
37 Wasp chitin 0 0 0 0 0 0 0 fs_Wasp1 bf_med_insect bf_med_insect
38 SlaadWhitBlck scale 24 1 1 1 1 10 1 **** bf_large bf_large
39 Normal_Clawed scale 23 23 25 23 23 23 23 **** bf_small bf_small
40 Large_Clawed scale 24 24 10 10 24 24 24 **** bf_med_hard bf_med_hard
41 Ghouls scale 25 23 25 23 23 23 23 **** bf_med_flesh bf_med_flesh
42 Normal_Corned scale 27 27 27 27 27 27 27 **** bf_small bf_small
43 Slaadgray scale 2 2 2 2 2 2 2 **** bf_med_hard bf_med_hard
44 Trolls scale 23 23 24 10 10 24 10 **** bf_med_hard bf_med_hard
45 Normal_Bite scale 25 25 25 25 25 25 23 **** bf_small bf_small
46 Large_Bite scale 26 26 26 25 25 26 23 **** bf_med_hard bf_med_hard
47 SlaadGreen scale 23 23 23 0 0 24 23 **** bf_med_hard bf_med_hard
48 Spiders chitin 23 23 27 27 23 27 0 **** bf_med_insect bf_med_insect
49 Chitin_Corned chitin 27 27 27 27 27 27 27 **** bf_med_insect bf_med_insect
50 Tentacle_bite scale 19 19 25 25 19 19 27 **** bf_med_hard bf_med_hard
51 Tentacle_full scale 19 19 19 23 19 19 19 **** bf_med_hard bf_med_hard
52 SnowOwl leather 18 18 18 18 18 18 18 **** bf_tiny bf_tiny
53 Kuotoa leather **** **** **** **** **** **** **** **** bf_squish bf_squish

@ -0,0 +1,6 @@
2DA V2.0
Corner1 Edge Corner2 Height Model
0 Black Sewer Black 0 dls10_Z01_01
1 Black **** Black 0 dls10_Z02_01
2 Black **** **** 0 dls10_Z02_01

@ -0,0 +1,6 @@
2DA V2.0
Corner1 Edge Corner2 Height Model
0 Black Sewer Black 0 dls10_Z01_01
1 Black **** Black 0 dls10_Z02_01
2 Black **** **** 0 dls10_Z02_01

File diff suppressed because it is too large Load Diff

@ -0,0 +1,32 @@
2DA V2.0
Label StrRef ModelName BlockSight VisibleModel SoundAppType Name
0 Wood_strong 5349 T_DOOR01 1 1 0 63750
1 Fancy 5349 T_DOOR02 1 1 0 14445
2 Porticullis 5349 T_Door03 0 1 11 63199
3 Porticullis2 5349 T_Door04 0 1 11 63752
4 Rusted 5349 T_Door05 1 1 7 14451
5 Metal 5349 T_Door06 1 1 7 14449
6 Stone_evil 5349 T_Door07 1 1 4 14444
7 Stone 5349 T_Door08 1 1 4 14452
8 Jeweled 5349 T_Door09 1 1 7 14448
9 Wood_weak 5349 T_Door10 1 1 0 63751
10 ForceField 5349 T_Door11 0 1 48 63753
11 tndoor_01_wd 111922 tn_gdoor_01 1 1 0 111922
12 tndoor_02_wd 111922 tn_gdoor_02 1 1 0 111922
13 tndoor_03_wd 111922 tn_gdoor_03 1 1 0 111922
14 tndoor_04_mt 111921 tn_gdoor_04 1 1 7 111921
15 tndoor_05_st 111920 tn_gdoor_05 1 1 4 111920
16 tndoor_05_st 111925 tn_gdoor_06 1 1 4 111925
17 tndoor_07_mt 111926 tn_gdoor_07 0 1 11 111926
18 tndoor_trans 111930 tn_gdoor_08 0 0 **** 111930
19 wc_generic01 111923 dwc_gen_01 0 1 11 111923
20 wc_generic02 111924 dwc_gen_02 1 1 0 111924
21 wc_generic03 111929 dwc_gen_03 1 1 7 111929
22 wc_generic04 111927 dwc_gen_04 1 1 7 111927
23 wc_generic05 111928 dwc_gen_05 1 1 7 111928
24 wc_generic06 111918 dwc_gen_06 1 1 4 111918
25 wc_cloth 111919 dwc_gen_07 1 1 24 111919
26 CageDoor 5349 v_generic_01 0 1 7 67954
27 SewerDoor1 5349 v_sewdoor_01 0 1 7 60336
28 SewerDoor2 5349 v_sewdoor_02 0 1 7 60336

File diff suppressed because it is too large Load Diff

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Aura of Blinding On Enter
//:: NW_S1_AuraBlndA.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Upon entering the aura of the creature the player
must make a will save or be blinded because of the
sheer ugliness or beauty of the creature.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
object oTarget = GetEnteringObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nDuration = 1 + (nHD/3);
effect eBlind = EffectBlindness();
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eVis = EffectVisualEffect(VFX_IMP_BLIND_DEAF_M);
effect eLink = EffectLinkEffects(eBlind, eDur);
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
//Entering object must make a will save or be blinded for the duration.
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_BLINDING));
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC))
{
//Apply the blind effect and the VFX impact
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration)));
}
}
}

Binary file not shown.

@ -0,0 +1,62 @@
//::///////////////////////////////////////////////
//:: Aura of Frost on Heartbeat
//:: NW_S1_AuraColdC.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Prolonged exposure to the aura of the creature
causes frost damage to all within the aura.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
object oTarget = GetEnteringObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nFrost = 1 + (nHD/3);
int nDC = 10 +nCHAMod+ (nHD/2);
int nDamage;
effect eDam;
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
//Get the first target in the aura of cold
oTarget = GetFirstInPersistentObject();
while (GetIsObjectValid(oTarget))
{
/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget))
{
oTarget = GetNextInPersistentObject(OBJECT_SELF);
continue;
} */
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_COLD));
//Roll damage based on the creatures HD
nDamage = d4(nFrost);
//Make a Fortitude save for half
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_COLD))
{
nDamage = nDamage / 2;
}
//Set the damage effect
eDam = EffectDamage(nDamage, DAMAGE_TYPE_COLD);
//Apply the VFX constant and damage effect
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
//Get the next target in the aura of cold
oTarget = GetNextInPersistentObject();
}
}

Binary file not shown.

@ -0,0 +1,58 @@
//::///////////////////////////////////////////////
//:: Aura of Electricity on Heartbeat
//:: NW_S1_AuraElecC.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Prolonged exposure to the aura of the creature
causes electrical damage to all within the aura.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
int nHD = GetHitDice(oNPC);
int nZap = 1 + (nHD / 3);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 + nCHAMod + (nHD/2);
int nDamage;
effect eDam;
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
//Get first target in spell area
object oTarget = GetFirstInPersistentObject();
while (GetIsObjectValid(oTarget))
{
/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget))
{
oTarget = GetNextInPersistentObject(OBJECT_SELF);
continue;
} */
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
{
nDamage = d4(nZap);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_AURA_ELECTRICITY));
//Make a saving throw check
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_ELECTRICITY))
{
nDamage = nDamage / 2;
}
eDam = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL);
//Apply the VFX impact and effects
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
DelayCommand(0.0f, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
}
//Get next target in spell area
oTarget = GetNextInPersistentObject();
}
}

Binary file not shown.

@ -0,0 +1,59 @@
//::///////////////////////////////////////////////
//:: Aura of Fire on Heartbeat
//:: NW_S1_AuraFireC.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Prolonged exposure to the aura of the creature
causes fire damage to all within the aura.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
object oTarget = GetFirstInPersistentObject(); //:: Get first target in spell area
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nBurn = 1 + (nHD/3);
int nDC = 10 +nCHAMod+ (nHD/2);
int nDamage;
int nDamSave;
effect eDam;
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
while(GetIsObjectValid(oTarget))
{
/* if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget))
{
oTarget = GetNextInPersistentObject(OBJECT_SELF);
continue;
} */
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_FIRE));
//Roll damage
nDamage = d4(nBurn);
//Make a saving throw check
if(PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_FIRE))
{
nDamage = nDamage / 2;
}
//Set the damage effect
eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
}
//Get next target in spell area
oTarget = GetNextInPersistentObject();
}
}

Binary file not shown.

@ -0,0 +1,46 @@
//::///////////////////////////////////////////////
//:: Aura of Menace On Enter
//:: NW_S1_AuraMencA.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Upon entering the aura all those that fail
a will save are stricken with Doom.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
object oTarget = GetEnteringObject();
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
int nDuration = 1 + (GetHitDice(oNPC)/3);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (GetHitDice(oNPC)/2);
int nLevel = GetCasterLevel(OBJECT_SELF);
int nMetaMagic = PRCGetMetaMagicFeat();
effect eVis = EffectVisualEffect(VFX_IMP_DOOM);
effect eLink = CreateDoomEffectsLink();
if(GetIsEnemy(oTarget, GetAreaOfEffectCreator()))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_AURA_MENACE));
//Spell Resistance and Saving throw
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC))
{
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink , oTarget, TurnsToSeconds(nDuration));
}
}
}

Binary file not shown.

@ -0,0 +1,35 @@
//::///////////////////////////////////////////////
//:: Aura of Protection: On Enter
//:: NW_S1_AuraProtA.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Acts as a double strength Magic Circle against
evil and a Minor Globe for those friends in
the area.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On:Jan 8, 2002, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
void main()
{
//Declare major variables
effect eProt = CreateProtectionFromAlignmentLink(ALIGNMENT_EVIL);
effect eGlobe = EffectSpellLevelAbsorption(3, 0);
effect eDur = EffectVisualEffect(VFX_DUR_GLOBE_MINOR);
effect eLink = EffectLinkEffects(eProt, eGlobe);
eLink = EffectLinkEffects(eLink, eDur);
object oTarget = GetEnteringObject();
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
//Faction Check
if(GetIsFriend(oTarget, GetAreaOfEffectCreator()))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Aura Stunning On Enter
//:: NW_S1_AuraStunA.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Upon entering the aura of the creature the player
must make a will save or be stunned.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
object oTarget = GetEnteringObject();
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDuration = GetHitDice(oNPC);
int nDC = 10 + nCHAMod + (nDuration/2);
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
effect eVis2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
effect eDeath = EffectStunned();
effect eLink = EffectLinkEffects(eVis2, eDeath);
nDuration = GetScaledDuration(nDuration, oTarget);
if(!GetIsFriend(oTarget))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_STUN));
//Make a saving throw check
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Aura of the Unnatural On Enter
//:: NW_S1_AuraMencA.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Upon entering the aura all animals are struck with
fear.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_FEAR);
effect eFear = EffectFrightened();
effect eLink = EffectLinkEffects(eVis, eFear);
object oTarget = GetEnteringObject();
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
int nDuration = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nRacial = GetRacialType(oTarget);
int nDC = 10 + nCHAMod + (GetHitDice(oNPC)/2);
if(GetIsEnemy(oTarget))
{
nDuration = (nDuration / 3) + 1;
//Make a saving throw check
if(nRacial == RACIAL_TYPE_ANIMAL)
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELLABILITY_AURA_UNNATURAL));
//if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_FEAR)) //:: This ability only affects animals & they don't get a save.
//{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nDuration));
//}
}
}
}

Binary file not shown.

@ -0,0 +1,46 @@
//::///////////////////////////////////////////////
//:: Aura Unearthly Visage On Enter
//:: NW_S1_AuraUnEaA.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Upon entering the aura of the creature the player
must make a will save or be killed because of the
sheer ugliness or beauty of the creature.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 25, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
//#include "wm_include"
#include "prc_inc_spells"
void main()
{
//:: Declare major variables
object oNPC = GetAreaOfEffectCreator();
object oTarget = GetEnteringObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
//if (NullMagicOverride(GetArea(oTarget), oTarget, oTarget)) {return;}
effect eDeath = EffectDeath();
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
if(GetIsEnemy(oTarget, oNPC))
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_AURA_UNEARTHLY_VISAGE));
//Make a saving throw check
if(!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_DEATH))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDeath, oTarget);
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}
}

Binary file not shown.

@ -0,0 +1,66 @@
//::///////////////////////////////////////////////
//:: Bolt: Acid
//:: NW_S1_BltAcid
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
int nDC = 10 +nCONMod+ (nHD/2);
int nCount = nHD/2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
effect eBolt;
//ankheg
if(GetAppearanceType(oNPC) == APPEARANCE_TYPE_BEETLE_SLICER)
{
nDamage = d4(4);
}
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ACID));
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_ACID);
//Make a ranged touch attack
int nTouch = TouchAttackRanged(oTarget);
if(nTouch > 0)
{
if(nTouch == 2)
{
nDamage *= 2;
}
//Set damage effect
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ACID);
if(nDamage > 0)
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}
}

Binary file not shown.

@ -0,0 +1,47 @@
//::///////////////////////////////////////////////
//:: Bolt: Charm
//:: NW_S1_BltCharm
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "prc_inc_spells"
//#include "wm_include"
#include "NW_I0_SPELLS"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
nCount = GetScaledDuration(nCount, oTarget);
effect eVis = EffectVisualEffect(VFX_IMP_CHARM);
effect eBolt = EffectCharmed();
eBolt = GetScaledEffect(eBolt, oTarget);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eLink = EffectLinkEffects(eBolt, eDur);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_CHARM));
//Make a saving throw check
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Charisma Drain
//:: NW_S1_BltChrDr
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Fortitude save is
needed to avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = nHD / 3;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_ABILITY_DRAIN_CHARISMA));
//Make a saving throw check
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
{
eBolt = EffectAbilityDecrease(ABILITY_CHARISMA, nCount);
eBolt = SupernaturalEffect(eBolt);
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,60 @@
//::///////////////////////////////////////////////
//:: Bolt: Cold
//:: NW_S1_BltCold
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = nHD/2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_COLD));
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_COLD);
//Make a ranged touch attack
int nTouch = TouchAttackRanged(oTarget);
if(nTouch > 0)
{
if(nTouch == 2)
{
nDamage *= 2;
}
//Set damage effect
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_COLD);
if(nDamage > 0)
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Constitution Drain
//:: NW_S1_BltConDr
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Fort save is
needed to avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD /3);
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_CONSTITUTION));
//Make a saving throw check
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
{
eBolt = EffectAbilityDecrease(ABILITY_CONSTITUTION, nCount);
eBolt = SupernaturalEffect(eBolt);
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Confuse
//:: NW_S1_BltConf
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "prc_inc_spells"
//#include "wm_include"
#include "NW_I0_SPELLS"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
nCount = GetScaledDuration(nCount, oTarget);
effect eVis2 = EffectVisualEffect(VFX_IMP_CONFUSION_S);
effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
effect eBolt = EffectConfused();
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eLink = EffectLinkEffects(eBolt, eDur);
eLink = EffectLinkEffects(eLink, eVis);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_CONFUSE));
//Make a saving throw check
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis2, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,47 @@
//::///////////////////////////////////////////////
//:: Bolt: Daze
//:: NW_S1_BltDaze
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "prc_inc_spells"
//#include "wm_include"
#include "NW_I0_SPELLS"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
nCount = GetScaledDuration(nCount, oTarget);
effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DISABLED);
effect eBolt = EffectDazed();
eBolt = GetScaledEffect(eBolt, oTarget);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eLink = EffectLinkEffects(eBolt, eDur);
eLink = EffectLinkEffects(eLink, eVis);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DAZE));
//Make a saving throw check
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
}
}

Binary file not shown.

@ -0,0 +1,47 @@
//::///////////////////////////////////////////////
//:: Bolt: Death
//:: NW_S1_BltDeath
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
effect eVis = EffectVisualEffect(VFX_IMP_DEATH);
effect eBolt = EffectDeath();
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DEATH));
//Make a saving throw check
if(TouchAttackRanged(oTarget))
{
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_DEATH))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
//ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Dexterity Drain
//:: NW_S1_BltDexDr
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Fort save is
needed to avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_DEXTERITY));
//Make a saving throw check
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
{
eBolt = EffectAbilityDecrease(ABILITY_DEXTERITY, nCount);
eBolt = SupernaturalEffect(eBolt);
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,73 @@
//::///////////////////////////////////////////////
//:: Bolt: Disease
//:: NW_S1_BltDisease
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to infect
the target with a disease. The disease used
is chosen based upon the racial type of the
caster.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nRacial = MyPRCGetRacialType(oNPC);
int nDisease;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DISEASE));
//Here we use the racial type of the attacker to select an
//appropriate disease.
switch (nRacial)
{
case RACIAL_TYPE_VERMIN:
nDisease = DISEASE_VERMIN_MADNESS;
break;
case RACIAL_TYPE_UNDEAD:
nDisease = DISEASE_FILTH_FEVER;
break;
case RACIAL_TYPE_OUTSIDER:
if(GetTag(oNPC) == "NW_SLAADRED")
{
nDisease = DISEASE_RED_SLAAD_EGGS;
}
else
{
nDisease = DISEASE_DEMON_FEVER;
}
break;
case RACIAL_TYPE_MAGICAL_BEAST:
nDisease = DISEASE_SOLDIER_SHAKES;
break;
case RACIAL_TYPE_ABERRATION:
nDisease = DISEASE_BLINDING_SICKNESS;
break;
default:
nDisease = DISEASE_SOLDIER_SHAKES;
break;
}
//Assign effect and chosen disease
effect eBolt = EffectDisease(nDisease);
//Make the ranged touch attack.
if (TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,53 @@
//::///////////////////////////////////////////////
//:: Bolt: Dominated
//:: NW_S1_BltDomn
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
nCount = GetScaledDuration(nCount, oTarget);
effect eVis = EffectVisualEffect(VFX_IMP_DOMINATE_S);
effect eBolt = EffectDominated();
eBolt = GetScaledEffect(eBolt, oTarget);
effect eVis2 = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_DOMINATED);
eBolt = GetScaledEffect(eBolt, oTarget);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eLink = EffectLinkEffects(eBolt, eDur);
eLink = EffectLinkEffects(eLink, eVis2);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_DOMINATE));
//Make a saving throw check
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,58 @@
//::///////////////////////////////////////////////
//:: Bolt: Fire
//:: NW_S1_BoltFire
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = nHD/2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_S);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_FIRE));
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_FIRE);
//Make a ranged touch attack
int nTouch = TouchAttackRanged(oTarget);
if(nTouch > 0)
{
if(nTouch == 2)
{
nDamage *= 2;
}
//Set damage effect
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
if(nDamage > 0)
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Intelligence Drain
//:: NW_S1_BltIntDr
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_INTELLIGENCE));
//Make a saving throw check
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
{
eBolt = EffectAbilityDecrease(ABILITY_INTELLIGENCE, nCount);
eBolt = SupernaturalEffect(eBolt);
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Knockdown
//:: NW_S1_BltKnckD
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = nHD/2;
if (nCount == 0) { nCount = 1; }
effect eVis = EffectVisualEffect(VFX_IMP_SONIC);
effect eBolt = EffectKnockdown();
effect eDam = EffectDamage(d6(), DAMAGE_TYPE_BLUDGEONING);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_KNOCKDOWN));
//Make a saving throw check
if (!/*Reflex Save*/ PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBolt, oTarget, RoundsToSeconds(3));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,59 @@
//::///////////////////////////////////////////////
//:: Bolt: Lightning
//:: NW_S1_BltLightn
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Does 1d6 per level to a single target. Reflex
save for half
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Aug 10, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = nHD/2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eLightning = EffectBeam(VFX_BEAM_LIGHTNING, OBJECT_SELF,BODY_NODE_HAND);
effect eVis = EffectVisualEffect(VFX_IMP_LIGHTNING_S);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_LIGHTNING));
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC,SAVING_THROW_TYPE_ELECTRICITY);
//Make a ranged touch attack
int nTouch = TouchAttackRanged(oTarget);
if(nTouch > 0)
{
if(nTouch == 2)
{
nDamage *= 2;
}
//Set damage effect
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_ELECTRICAL);
if(nDamage > 0)
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLightning, oTarget, 1.7);
}
}
}

Binary file not shown.

@ -0,0 +1,49 @@
//::///////////////////////////////////////////////
//:: Bolt: Level Drain
//:: NW_S1_BltLvlDr
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
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));
//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_INSTANT, eBolt, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Paralyze
//:: NW_S1_BltParal
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
nCount = GetScaledDuration(nCount, oTarget);
effect eVis = EffectVisualEffect(VFX_DUR_PARALYZED);
effect eBolt = EffectParalyze();
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eLink = EffectLinkEffects(eBolt, eDur);
eLink = EffectLinkEffects(eLink, eVis);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_PARALYZE));
//Make a saving throw check
if (!PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
}
}

Binary file not shown.

@ -0,0 +1,123 @@
//::///////////////////////////////////////////////
//:: Bolt: Poison
//:: NW_S1_BltPoison.nss
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Must make a ranged touch attack. If successful
the target is struck down with poison that
scales with level.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 22, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nRacial = MyPRCGetRacialType(OBJECT_SELF);
int nPoison;
effect ePoison;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_POISON));
//Determine the poison type based on the Racial Type and HD
switch (nRacial)
{
case RACIAL_TYPE_OUTSIDER:
if (nHD <= 9)
{
nPoison = POISON_QUASIT_VENOM;
}
else if (nHD > 9 && nHD < 13)
{
nPoison = POISON_BEBILITH_VENOM;
}
else if (nHD >= 13)
{
nPoison = POISON_PIT_FIEND_ICHOR;
}
break;
case RACIAL_TYPE_VERMIN:
if (nHD < 3)
{
nPoison = POISON_TINY_SPIDER_VENOM;
}
else if (nHD <= 3 && nHD < 6)
{
nPoison = POISON_SMALL_SPIDER_VENOM;
}
else if (nHD <= 6 && nHD < 9)
{
nPoison = POISON_MEDIUM_SPIDER_VENOM;
}
else if (nHD <= 9 && nHD < 12)
{
nPoison = POISON_LARGE_SPIDER_VENOM;
}
else if (nHD <= 12 && nHD < 15)
{
nPoison = POISON_HUGE_SPIDER_VENOM;
}
else if (nHD <= 15 && nHD < 18)
{
nPoison = POISON_GARGANTUAN_SPIDER_VENOM;
}
else if (nHD >= 18)
{
nPoison = POISON_COLOSSAL_SPIDER_VENOM;
}
break;
default:
if (nHD < 3)
{
nPoison = POISON_NIGHTSHADE;
}
else if (nHD <= 3 && nHD < 6)
{
nPoison = POISON_BLADE_BANE;
}
else if (nHD <= 6 && nHD < 9)
{
nPoison = POISON_BLOODROOT;
}
else if (nHD <= 9 && nHD < 12)
{
nPoison = POISON_LARGE_SPIDER_VENOM;
}
else if (nHD <= 12 && nHD < 15)
{
nPoison = POISON_LICH_DUST;
}
else if (nHD <= 15 && nHD < 18)
{
nPoison = POISON_DARK_REAVER_POWDER;
}
else if (nHD >= 18 )
{
nPoison = POISON_BLACK_LOTUS_EXTRACT;
}
break;
}
//Make a ranged touch attack
if (TouchAttackRanged (oTarget))
{
ePoison = EffectPoison(nPoison);
//Apply effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, ePoison, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,58 @@
//::///////////////////////////////////////////////
//:: Bolt: Shards
//:: NW_S1_BltShard
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_SHARDS));
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC);
//Make a ranged touch attack
int nTouch = TouchAttackRanged(oTarget);
if(nTouch > 0)
{
if(nTouch == 2)
{
nDamage *= 2;
}
//Set damage effect
eBolt = EffectDamage(nDamage, DAMAGE_TYPE_PIERCING, DAMAGE_POWER_PLUS_ONE);
if(nDamage > 0)
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_INSTANT, eBolt, oTarget);
}
}
}

Binary file not shown.

@ -0,0 +1,47 @@
//::///////////////////////////////////////////////
//:: Bolt: Slow
//:: NW_S1_BltSlow
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex save is
needed to or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: June 18 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
effect eVis = EffectVisualEffect(VFX_IMP_SLOW);
effect eBolt = EffectSlow();
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eLink = EffectLinkEffects(eBolt, eDur);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_SLOW));
//Make a saving throw check
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Strength Drain
//:: NW_S1_BltStrDr
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Fort save is
needed to avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELLABILITY_BOLT_ABILITY_DRAIN_STRENGTH));
//Make a saving throw check
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
{
eBolt = EffectAbilityDecrease(ABILITY_STRENGTH, nCount);
eBolt = SupernaturalEffect(eBolt);
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget, RoundsToSeconds(nHD));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,50 @@
//::///////////////////////////////////////////////
//:: Bolt: Stun
//:: NW_S1_BltStun
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Reflex or Will save is
needed to halve damage or avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD + 1) / 2;
if (nCount == 0) { nCount = 1; }
nCount = GetScaledDuration(nCount, oTarget);
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_STUN);
effect eBolt = EffectStunned();
eBolt = GetScaledEffect(eBolt, oTarget);
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
effect eLink = EffectLinkEffects(eBolt, eDur);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_STUN));
//Make a saving throw check
if (!/*Will Save*/ PRCMySavingThrow(SAVING_THROW_WILL, oTarget, nDC, SAVING_THROW_TYPE_MIND_SPELLS) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,44 @@
//::///////////////////////////////////////////////
//:: Bolt: Web
//:: NW_S1_BltWeb
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Glues a single target to the ground with
sticky strands of webbing.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Jan 28, 2002
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC);
int nDC = 10 +nCONMod+ (nHD/2);
int nCount = 1 + (nHD /2);
if (nCount == 0) { nCount = 1; }
effect eVis = EffectVisualEffect(VFX_DUR_WEB);
effect eStick = EffectEntangle();
effect eLink = EffectLinkEffects(eVis, eStick);
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_WEB));
//Make a saving throw check
if (!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, nDC) && TouchAttackRanged(oTarget))
{
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, RoundsToSeconds(nCount));
}
}

Binary file not shown.

@ -0,0 +1,48 @@
//::///////////////////////////////////////////////
//:: Bolt: Wisdom Drain
//:: NW_S1_BltWisDr
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Creature must make a ranged touch attack to hit
the intended target. Fort save is
needed to avoid effect.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11 , 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
void main()
{
//if (WildMagicOverride()) { return; }
//:: Declare major variables
object oNPC = OBJECT_SELF;
object oTarget = PRCGetSpellTargetObject();
int nHD = GetHitDice(oNPC);
int nCHAMod = GetAbilityModifier(ABILITY_CHARISMA, oNPC);
int nDC = 10 +nCHAMod+ (nHD/2);
int nCount = (nHD /3);
if (nCount == 0) { nCount = 1; }
int nDamage = d6(nCount);
effect eVis = EffectVisualEffect(VFX_IMP_NEGATIVE_ENERGY);
effect eBolt;
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_BOLT_ABILITY_DRAIN_WISDOM));
//Make a saving throw check
if (!/*Fort Save*/ PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NEGATIVE) && TouchAttackRanged(oTarget))
{
eBolt = EffectAbilityDecrease(ABILITY_WISDOM, nCount);
eBolt = SupernaturalEffect(eBolt);
//Apply the VFX impact and effects
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eBolt, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
}
}

Binary file not shown.

@ -0,0 +1,76 @@
//::///////////////////////////////////////////////
//:: Cone: Acid
//:: NW_S1_ConeAcid
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
A cone of damage eminated from the monster. Does
a set amount of damage based upon the creatures HD
and can be halved with a Reflex Save.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
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/2);
int nDamage;
int nLoop = nHD / 3;
float fDelay;
if(nLoop == 0)
{
nLoop = 1;
}
//Calculate the damage
for (nLoop; nLoop > 0; nLoop--)
{
nDamage = nDamage + d6(2);
}
location lTargetLocation = PRCGetSpellTargetLocation();
effect eCone;
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
//Get first target in spell area
while(GetIsObjectValid(oTarget))
{
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_ACID));
//Determine effect delay
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_ACID);
//Set damage effect
eCone = EffectDamage(nDamage, DAMAGE_TYPE_ACID);
if(nDamage > 0)
{
//Apply the VFX impact and effects
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
}
}
//Get next target in spell area
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
}
}

Binary file not shown.

@ -0,0 +1,76 @@
//::///////////////////////////////////////////////
//:: Cone: Cold
//:: NW_S1_ConeCold
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
A cone of damage eminated from the monster. Does
a set amount of damage based upon the creatures HD
and can be halved with a Reflex Save.
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: May 11, 2001
//:://////////////////////////////////////////////
#include "NW_I0_SPELLS"
#include "prc_inc_spells"
//#include "wm_include"
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/2);
int nDamage;
int nLoop = nHD / 3;
float fDelay;
if(nLoop == 0)
{
nLoop = 1;
}
//Calculate the damage
for (nLoop; nLoop > 0; nLoop--)
{
nDamage = nDamage + d6(2);
}
location lTargetLocation = PRCGetSpellTargetLocation();
effect eCone;
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
oTarget = GetFirstObjectInShape(SHAPE_SPELLCONE, 10.0, lTargetLocation, TRUE);
//Get first target in spell area
while(GetIsObjectValid(oTarget))
{
if(!GetIsReactionTypeFriendly(oTarget) && oTarget != oNPC)
{
//Fire cast spell at event for the specified target
SignalEvent(oTarget, EventSpellCastAt(oNPC, SPELLABILITY_CONE_COLD));
//Determine effect delay
fDelay = GetDistanceBetween(oNPC, oTarget)/20;
//Adjust the damage based on the Reflex Save, Evasion and Improved Evasion.
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_TYPE_COLD);
//Set damage effect
eCone = EffectDamage(nDamage, DAMAGE_TYPE_COLD);
if(nDamage > 0)
{
//Apply the VFX impact and effects
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eCone, oTarget));
}
}
//Get next target in spell area
oTarget = GetNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, TRUE);
}
}

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More