vht/vhtzs/projectiles.zsc

68 lines
1.4 KiB
Plaintext

class VhtMageWandMissile : MageWandMissile replaces MageWandMissile {
default {
DamageFunction vhtDamageFunc();
}
override void beginPlay() {
super.beginPlay();
spriteOffset = (0, 8);
}
int vhtDamageFunc() {
switch(vht_mwand_damagefunc) {
case 0: return 2 * random(1, 8); /* vanilla (2d8) */
case 1: return 4 * random(1, 4); /* modified (4d4) */
case 2: return 16; /* constant */
}
return 0;
}
}
class VhtFrostMissile : FrostMissile replaces FrostMissile {
default {
DamageFunction vhtDamageFunc();
}
int vhtDamageFunc() {
switch(vht_mfrost_damagefunc) {
case 0: return 1 * random(1, 8); /* vanilla (1d8) */
case 1: return 4 * random(1, 3); /* modified (4d3) */
case 2: return 8; /* constant */
}
return 0;
}
}
class VhtBloodscourgeShot : MageStaffFx2 replaces MageStaffFx2 {
override void beginPlay() {
super.beginPlay();
if(vht_mbloodscourge_foilinvul) {
bFoilInvul = true;
}
}
}
class VhtAxeMissile : Actor {
default {
Speed 25;
Radius 13;
Height 8;
Damage 2;
DamageType "Melee";
Projectile;
DeathSound "MageLightningZap";
Obituary "$OB_VHTFWEAPAXE";
Translation "146:163=146:160", "217:223=155:163";
}
states {
Spawn:
SHRD A 2 bright;
SHRD ABC 3 bright;
loop;
Death:
MWND E 4 bright;
MWND F 3 bright;
MWND G 4 bright;
MWND H 3 bright;
MWND I 4 bright;
stop;
}
}