This commit is contained in:
kevinz000
2020-04-30 00:58:59 -07:00
parent 72cbb77ecc
commit 432724a388
9 changed files with 176 additions and 26 deletions
@@ -10,8 +10,7 @@ Difficulty: Extremely Hard
icon_state = "demonic_miner"
icon_living = "demonic_miner"
icon = 'icons/mob/icemoon/icemoon_monsters.dmi'
attack_verb_continuous = "pummels"
attack_verb_simple = "pummels"
attack_text = "pummels"
attack_sound = 'sound/weapons/sonic_jackhammer.ogg'
mob_biotypes = MOB_ORGANIC|MOB_HUMANOID
light_color = "#E4C7C5"
@@ -105,7 +104,7 @@ Difficulty: Extremely Hard
else
ice_shotgun(5, list(list(0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330), list(-30, -15, 0, 15, 30)))
/obj/projectile/frost_orb
/obj/item/projectile/frost_orb
name = "frost orb"
icon_state = "ice_1"
damage = 20
@@ -114,12 +113,12 @@ Difficulty: Extremely Hard
homing_turn_speed = 30
damage_type = BURN
/obj/projectile/frost_orb/on_hit(atom/target, blocked = FALSE)
/obj/item/projectile/frost_orb/on_hit(atom/target, blocked = FALSE)
. = ..()
if(isturf(target) || isobj(target))
target.ex_act(EXPLODE_HEAVY)
/obj/projectile/snowball
/obj/item/projectile/snowball
name = "machine-gun snowball"
icon_state = "nuclear_particle"
damage = 5
@@ -127,7 +126,7 @@ Difficulty: Extremely Hard
speed = 4
damage_type = BRUTE
/obj/projectile/ice_blast
/obj/item/projectile/ice_blast
name = "ice blast"
icon_state = "ice_2"
damage = 15
@@ -135,7 +134,7 @@ Difficulty: Extremely Hard
speed = 4
damage_type = BRUTE
/obj/projectile/ice_blast/on_hit(atom/target, blocked = FALSE)
/obj/item/projectile/ice_blast/on_hit(atom/target, blocked = FALSE)
. = ..()
if(isturf(target) || isobj(target))
target.ex_act(EXPLODE_HEAVY)
@@ -166,26 +165,26 @@ Difficulty: Extremely Hard
var/turf/endloc = get_turf(target)
if(!endloc)
break
var/obj/projectile/frost_orb/P = new(startloc)
var/obj/item/projectile/frost_orb/P = new(startloc)
P.preparePixelProjectile(endloc, startloc)
P.firer = src
if(target)
P.original = target
P.set_homing_target(target)
P.fire(rand(0, 360))
addtimer(CALLBACK(P, /obj/projectile/frost_orb/proc/orb_explosion, projectile_speed_multiplier), 20) // make the orbs home in after a second
addtimer(CALLBACK(P, /obj/item/projectile/frost_orb/proc/orb_explosion, projectile_speed_multiplier), 20) // make the orbs home in after a second
SLEEP_CHECK_DEATH(added_delay)
SetRecoveryTime(40, 60)
/// Called when the orb is exploding, shoots out projectiles
/obj/projectile/frost_orb/proc/orb_explosion(projectile_speed_multiplier)
/obj/item/projectile/frost_orb/proc/orb_explosion(projectile_speed_multiplier)
for(var/i in 0 to 5)
var/angle = i * 60
var/turf/startloc = get_turf(src)
var/turf/endloc = get_turf(original)
if(!startloc || !endloc)
break
var/obj/projectile/ice_blast/P = new(startloc)
var/obj/item/projectile/ice_blast/P = new(startloc)
P.speed *= projectile_speed_multiplier
P.preparePixelProjectile(endloc, startloc, null, angle + rand(-10, 10))
P.firer = firer
@@ -201,7 +200,7 @@ Difficulty: Extremely Hard
var/turf/endloc = get_turf(target)
if(!endloc)
break
var/obj/projectile/P = new /obj/projectile/snowball(startloc)
var/obj/item/projectile/P = new /obj/item/projectile/snowball(startloc)
P.speed *= projectile_speed_multiplier
P.preparePixelProjectile(endloc, startloc, null, rand(-spread, spread))
P.firer = src
@@ -220,7 +219,7 @@ Difficulty: Extremely Hard
var/turf/endloc = get_turf(target)
if(!endloc)
break
var/obj/projectile/P = new /obj/projectile/ice_blast(startloc)
var/obj/item/projectile/P = new /obj/item/projectile/ice_blast(startloc)
P.speed *= projectile_speed_multiplier
P.preparePixelProjectile(endloc, startloc, null, spread)
P.firer = src
@@ -394,3 +394,26 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/dragon/lesser/grant_achievement(medaltype,scoretype)
return
//fire line keeps going even if dragon is deleted
/proc/dragon_fire_line(source, list/turfs)
var/list/hit_list = list()
for(var/turf/T in turfs)
if(istype(T, /turf/closed))
break
new /obj/effect/hotspot(T)
T.hotspot_expose(700,50,1)
for(var/mob/living/L in T.contents)
if(L in hit_list || L == source)
continue
hit_list += L
L.adjustFireLoss(20)
to_chat(L, "<span class='userdanger'>You're hit by [source]'s fire breath!</span>")
// deals damage to mechs
for(var/obj/mecha/M in T.contents)
if(M in hit_list)
continue
hit_list += M
M.take_damage(45, BRUTE, "melee", 1)
sleep(1.5)
@@ -43,7 +43,7 @@
/// Distance the demon will teleport from the target
var/teleport_distance = 3
/obj/projectile/temp/basilisk/ice
/obj/item/projectile/temp/basilisk/ice
name = "ice blast"
damage = 5
nodamage = FALSE
@@ -7,8 +7,7 @@
icon_dead = "ice_whelp_dead"
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
friendly_verb_continuous = "stares down"
friendly_verb_simple = "stare down"
friendly = "stares down"
speak_emote = list("roars")
speed = 30
move_to_delay = 30
@@ -20,8 +19,7 @@
armour_penetration = 20
melee_damage_lower = 20
melee_damage_upper = 20
attack_verb_continuous = "chomps"
attack_verb_simple = "chomp"
attack_text = "chomps"
attack_sound = 'sound/magic/demon_attack1.ogg'
vision_range = 9
aggro_vision_range = 9
@@ -7,8 +7,7 @@
icon_dead = "polarbear_dead"
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
friendly_verb_continuous = "growls at"
friendly_verb_simple = "growl at"
friendly = "growls at"
speak_emote = list("growls")
speed = 12
move_to_delay = 12
@@ -17,8 +16,7 @@
obj_damage = 40
melee_damage_lower = 25
melee_damage_upper = 25
attack_verb_continuous = "claws"
attack_verb_simple = "claw"
attack_text = "claws"
attack_sound = 'sound/weapons/bladeslice.ogg'
vision_range = 2 // don't aggro unless you basically antagonize it, though they will kill you worse than a goliath will
aggro_vision_range = 9