|
14 | 14 | const NPC_BOSS_RESTORATION 1.0 |
15 | 15 |
|
16 | 16 | setvard ANIM_DEATH diesimple |
17 | | - const SOUND_STRUCK1 controller/con_pain2.wav |
18 | | - const SOUND_STRUCK2 controller/con_pain3.wav |
19 | | - const SOUND_ATTACK1 zombie/claw_strike1.wav |
20 | | - const SOUND_ATTACK2 zombie/claw_strike2.wav |
21 | | - const SOUND_ATTACK3 zombie/claw_strike3.wav |
22 | | - const SOUND_DEATH garg/gar_die2.wav |
23 | | - const SOUND_SPAWN garg/gar_alert2.wav |
24 | | - const SOUND_FLINCH1 garg/gar_pain3.wav |
25 | | - const SOUND_FLINCH2 garg/gar_pain2.wav |
26 | | - const SOUND_PUSH garg/gar_attack3.wav |
27 | | - const SOUND_FALL weapons/mortarhit.wav |
28 | | - setvar ANIM_RUN walk |
| 17 | + const SOUND_STRUCK1 controller/con_pain2.wav |
| 18 | + const SOUND_STRUCK2 controller/con_pain3.wav |
| 19 | + const SOUND_ATTACK1 zombie/claw_strike1.wav |
| 20 | + const SOUND_ATTACK2 zombie/claw_strike2.wav |
| 21 | + const SOUND_ATTACK3 zombie/claw_strike3.wav |
| 22 | + const SOUND_DEATH garg/gar_die2.wav |
| 23 | + const SOUND_SPAWN garg/gar_alert2.wav |
| 24 | + const SOUND_FLINCH1 garg/gar_pain3.wav |
| 25 | + const SOUND_FLINCH2 garg/gar_pain2.wav |
| 26 | + const SOUND_PUSH garg/gar_attack3.wav |
| 27 | + const SOUND_FALL weapons/mortarhit.wav |
| 28 | + setvar ANIM_RUN walk |
29 | 29 | const ANIM_FULLRUN run |
30 | | - setvar ANIM_IDLE idle1 |
31 | | - setvar ANIM_WALK walk |
32 | | - setvard ANIM_SMASH attack2 //these are reversed in model events! >< |
33 | | - setvard ANIM_SLASH attack1 |
34 | | - setvard ANIM_ATTACK ANIM_SLASH |
35 | | - const SLASH_RANGE 150 |
36 | | - const SMASH_RANGE 100 |
37 | | - const SLASH_HITRANGE 200 |
38 | | - const SMASH_HITRANGE 125 |
| 30 | + setvar ANIM_IDLE idle1 |
| 31 | + setvar ANIM_WALK walk |
| 32 | + setvard ANIM_SMASH attack2 //these are reversed in model events! >< |
| 33 | + setvard ANIM_SLASH attack1 |
| 34 | + setvard ANIM_ATTACK ANIM_SLASH |
| 35 | + const SLASH_RANGE 150 |
| 36 | + const SMASH_RANGE 100 |
| 37 | + const SLASH_HITRANGE 200 |
| 38 | + const SMASH_HITRANGE 125 |
39 | 39 | setvard THROW_RANGE 250 |
40 | | - setvard ATTACK_RANGE SMASH_RANGE |
41 | | - setvard ATTACK_MOVERANGE 50 |
42 | | - setvard ATTACK_HITRANGE SLASH_HITRANGE |
43 | | - setvard THROW_FREQ 10.0 //min seconds between throws |
| 40 | + setvard ATTACK_RANGE SMASH_RANGE |
| 41 | + setvard ATTACK_MOVERANGE 50 |
| 42 | + setvard ATTACK_HITRANGE SLASH_HITRANGE |
| 43 | + setvard THROW_FREQ 10.0 //min seconds between throws |
44 | 44 |
|
45 | 45 | setvard NPC_MUST_SEE_TARGET 0 //he cant see through himself if yer on his head |
46 | 46 |
|
47 | 47 | const MAIN_MODEL monsters/skeleton_hood.mdl |
48 | 48 | const ALT_MODEL monsters/skeleton_boss2.mdl |
49 | 49 | precache ALT_MODEL //uplaod new model |
50 | 50 |
|
51 | | - //Precache |
52 | | - precache SOUND_DEATH //handled externally |
| 51 | + //Precache |
| 52 | + precache SOUND_DEATH //handled externally |
53 | 53 | } |
54 | 54 |
|
55 | 55 | #include monsters/base_monster_new |
|
79 | 79 | if ( NPC_IS_BOSS ) setvard NPC_GIVE_EXP 2000 |
80 | 80 | if ( !NPC_IS_BOSS ) setvard NPC_GIVE_EXP 1000 |
81 | 81 | } |
82 | | - |
83 | | - hp 6000 |
84 | | - gold $rand(100,300) |
85 | | - width 40 |
86 | | - height 120 |
87 | | - race undead |
| 82 | + |
| 83 | + hp 6000 |
| 84 | + gold $rand(100,300) |
| 85 | + width 40 |
| 86 | + height 120 |
| 87 | + race undead |
88 | 88 | setbbox npcsize |
89 | 89 | setsolid box |
90 | 90 |
|
91 | | - roam 0 |
92 | | - hearingsensitivity 12 |
93 | | - //setmodelbody 0 0 |
94 | | - local CURRENT_MAP game.map.name |
95 | | - if ( CURRENT_MAP equals calruin2 ) setmodelbody 0 1 |
96 | | - if ( CURRENT_MAP equals calruin2_1 ) setmodelbody 0 1 |
97 | | - setidleanim ANIM_IDLE |
98 | | - setmoveanim ANIM_WALK |
99 | | - playanim once ANIM_IDLE |
100 | | - takedmg all 0.6 |
101 | | - |
102 | | - setvard IMMUN_POISON 1 |
| 91 | + roam 0 |
| 92 | + hearingsensitivity 12 |
| 93 | + //setmodelbody 0 0 |
| 94 | + local CURRENT_MAP game.map.name |
| 95 | + if ( CURRENT_MAP equals calruin2 ) setmodelbody 0 1 |
| 96 | + if ( CURRENT_MAP equals calruin2_1 ) setmodelbody 0 1 |
| 97 | + setidleanim ANIM_IDLE |
| 98 | + setmoveanim ANIM_WALK |
| 99 | + playanim once ANIM_IDLE |
| 100 | + takedmg all 0.6 |
| 101 | + |
103 | 102 | takedmg holy 1.5 |
104 | 103 | //takedmg dark 0.25 //oops |
105 | 104 | takedmg poison 0.0 |
106 | 105 |
|
107 | 106 | setvard THROW_COUNT 0 |
108 | 107 |
|
109 | | - playsound 0 10 SOUND_SPAWN |
| 108 | + playsound 0 10 SOUND_SPAWN |
110 | 109 |
|
111 | 110 | } |
112 | 111 |
|
113 | | -{ [server] npc_post_spawn |
114 | | - |
115 | | - local L_MAP_NAME $lcase(game.map.name) |
116 | | - |
117 | | - if ( L_MAP_NAME equals calruin2 ) |
118 | | - { |
119 | | - local VER_NAME $get_by_name(map_verify) |
120 | | - local VER_ID $get(VER_NAME,id) |
121 | | - if !$get(VER_ID,exists) |
122 | | - infomsg all DATED_MAP Please verify your map patched correctly. |
123 | | - deleteent ent_me |
124 | | - } |
125 | | -} |
126 | | - |
127 | 112 | { npcatk_get_postspawn_properties |
128 | 113 |
|
129 | 114 | if AM_GERIC |
|
139 | 124 |
|
140 | 125 | { [override] attack_1 //called by model anim attack1 |
141 | 126 |
|
142 | | - if ( $get(NPCATK_TARGET,range) < SLASH_HITRANGE ) callevent npcatk_dodamage NPCATK_TARGET direct $randf(40.0,55.0) 75% $get(ent_me,id) slash |
| 127 | + if ( $get(NPCATK_TARGET,range) < SLASH_HITRANGE ) callevent npcatk_dodamage NPCATK_TARGET direct $randf(40.0,55.0) 75% $get(ent_me,id) slash |
143 | 128 |
|
144 | 129 | if $rand(1,10) == 1 |
145 | | - setvard ANIM_ATTACK ANIM_SMASH |
146 | | - setvard ATTACK_RANGE SMASH_RANGE |
| 130 | + setvard ANIM_ATTACK ANIM_SMASH |
| 131 | + setvard ATTACK_RANGE SMASH_RANGE |
147 | 132 | setvard ATTACK_HITRANGE SMASH_HITRANGE |
148 | 133 | } |
149 | 134 |
|
150 | 135 | { [override] attack_2 //called by model anim attack2 |
151 | 136 |
|
152 | | - if ( $get(NPCATK_TARGET,range) < SMASH_HITRANGE ) callevent npcatk_dodamage NPCATK_TARGET direct $randf(30.0,40.0) 100% $get(ent_me,id) blunt |
| 137 | + if ( $get(NPCATK_TARGET,range) < SMASH_HITRANGE ) callevent npcatk_dodamage NPCATK_TARGET direct $randf(30.0,40.0) 100% $get(ent_me,id) blunt |
153 | 138 | setvard STUN_ATTACK 1 |
154 | | - playsound 0 10 SOUND_ATTACK1 SOUND_ATTACK2 SOUND_ATTACK3 |
155 | | - setvard ANIM_ATTACK ANIM_SLASH |
| 139 | + playsound 0 10 SOUND_ATTACK1 SOUND_ATTACK2 SOUND_ATTACK3 |
| 140 | + setvard ANIM_ATTACK ANIM_SLASH |
156 | 141 | setvard ATTACK_RANGE SLASH_RANGE |
157 | 142 | setvard ATTACK_HITRANGE SLASH_HITRANGE |
158 | 143 | } |
159 | 144 |
|
160 | | - //Hit by someone |
| 145 | +//Hit by someone |
161 | 146 | { npc_struck |
162 | 147 |
|
163 | | - local MY_CURRENT_HP $get(ent_me,hp) |
| 148 | + local MY_CURRENT_HP $get(ent_me,hp) |
164 | 149 |
|
165 | | - if ( MY_CURRENT_HP < 2000 ) setvard CAN_FLINCH 1 |
| 150 | + if ( MY_CURRENT_HP < 2000 ) setvard CAN_FLINCH 1 |
166 | 151 |
|
167 | | - playrandomsound 0 10 SOUND_STRUCK1 SOUND_STRUCK2 |
| 152 | + playrandomsound 0 10 SOUND_STRUCK1 SOUND_STRUCK2 |
168 | 153 | } |
169 | 154 |
|
170 | 155 | { npc_flinch |
|
207 | 192 |
|
208 | 193 | { game_dodamage //1: Attack Hit (1/0) 2: Entity Attack hit 3: Start Position 4: End Position |
209 | 194 |
|
210 | | - if PARAM1 |
| 195 | + if PARAM1 |
211 | 196 |
|
212 | | - if ANIM_ATTACK equals 'attack1' |
| 197 | + if ANIM_ATTACK equals 'attack1' |
213 | 198 |
|
214 | 199 | add THROW_COUNT 1 |
215 | 200 |
|
216 | | - if ( THROW_COUNT > THROW_TIME ) |
217 | | - { |
| 201 | + if ( THROW_COUNT > THROW_TIME ) |
| 202 | + { |
218 | 203 | setvard THROW_COUNT 0 |
219 | 204 | if !DELAY_NEXT_THROW |
220 | 205 | setvard DELAY_NEXT_THROW 1 |
|
225 | 210 | setvard THROW_TARGET PARAM2 //cant pass params via params |
226 | 211 | callevent npcatk_suspend_ai 2.0 |
227 | 212 | callevent THROW_DELAY throw_chummer |
228 | | - } |
| 213 | + } |
229 | 214 | } |
230 | 215 |
|
231 | 216 | { reset_throw |
|
0 commit comments