mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-30 00:29:02 +01:00
Death sound refactor, dragon fixes, dragon dead icons
This commit is contained in:
@@ -316,6 +316,7 @@ var/list/bloody_footprints_cache = list()
|
||||
#define SENTIENCE_ARTIFICIAL 2
|
||||
#define SENTIENCE_OTHER 3
|
||||
#define SENTIENCE_MINEBOT 4
|
||||
#define SENTIENCE_BOSS 5
|
||||
|
||||
//Fire stuff, for burn_state
|
||||
#define LAVA_PROOF -2
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
status_flags = CANPUSH
|
||||
attack_sound = 'sound/magic/demon_attack1.ogg'
|
||||
var/feast_sound = 'sound/magic/Demon_consume.ogg'
|
||||
var/death_sound = 'sound/magic/demon_dies.ogg'
|
||||
death_sound = 'sound/magic/demon_dies.ogg'
|
||||
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
|
||||
minbodytemp = 0
|
||||
maxbodytemp = INFINITY
|
||||
@@ -60,10 +60,6 @@
|
||||
else
|
||||
speed = 0
|
||||
|
||||
/mob/living/simple_animal/slaughter/death()
|
||||
playsound(get_turf(src),death_sound, 200, 1)
|
||||
..()
|
||||
|
||||
/obj/effect/decal/cleanable/blood/innards
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
name = "pile of viscera"
|
||||
|
||||
@@ -862,6 +862,7 @@
|
||||
throw_range = 5
|
||||
var/loaded = 1
|
||||
var/malfunctioning = 0
|
||||
var/revive_type = SENTIENCE_ORGANIC //So you can't revive boss monsters or robots with it
|
||||
origin_tech = "biotech=4"
|
||||
|
||||
/obj/item/weapon/lazarus_injector/afterattack(atom/target, mob/user, proximity_flag)
|
||||
@@ -870,6 +871,9 @@
|
||||
if(istype(target, /mob/living) && proximity_flag)
|
||||
if(istype(target, /mob/living/simple_animal))
|
||||
var/mob/living/simple_animal/M = target
|
||||
if(M.sentience_type != revive_type)
|
||||
user << "<span class='info'>[src] does not work on this sort of creature.</span>"
|
||||
return
|
||||
if(M.stat == DEAD)
|
||||
M.faction = list("neutral")
|
||||
M.revive(full_heal = 1, admin_revive = 1)
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
see_invisible = SEE_INVISIBLE_MINIMUM
|
||||
unique_name = 1
|
||||
gold_core_spawnable = 0
|
||||
death_sound = 'sound/voice/hiss6.ogg'
|
||||
deathmessage = "lets out a waning guttural screech, green blood bubbling from its maw..."
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/drone
|
||||
name = "alien drone"
|
||||
@@ -140,11 +142,6 @@
|
||||
damage = 30
|
||||
icon_state = "toxin"
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/death(gibbed)
|
||||
..(gibbed)
|
||||
visible_message("[src] lets out a waning guttural screech, green blood bubbling from its maw...")
|
||||
playsound(src, 'sound/voice/hiss6.ogg', 100, 1)
|
||||
|
||||
/mob/living/simple_animal/hostile/alien/handle_temperature_damage()
|
||||
if(bodytemperature < minbodytemp)
|
||||
adjustBruteLoss(2)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
attack_sound = 'sound/magic/demon_attack1.ogg'
|
||||
icon_state = "dragon"
|
||||
icon_living = "dragon"
|
||||
icon_dead = "dragon_dead"
|
||||
friendly = "stares down"
|
||||
icon = 'icons/mob/lavaland/dragon.dmi'
|
||||
faction = list("mining")
|
||||
@@ -27,21 +28,14 @@
|
||||
var/anger_modifier = 0
|
||||
var/obj/item/device/gps/internal
|
||||
var/swooping = 0
|
||||
deathmessage = "collapes into a pile of bones, it's flesh sloughing away."
|
||||
death_sound = 'sound/magic/demon_dies.ogg'
|
||||
damage_coeff = list(BRUTE = 1, BURN = 0.5, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/New()
|
||||
..()
|
||||
internal = new/obj/item/device/gps/internal/dragon(src)
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/death(gibbed)
|
||||
if(can_die)
|
||||
qdel(internal)
|
||||
visible_message("<span class='danger'>[src] explodes in a shower of gore!</span>")
|
||||
playsound(get_turf(src),'sound/magic/demon_dies.ogg', 200, 1)
|
||||
gib()
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/AttackingTarget()
|
||||
if(swooping)
|
||||
return
|
||||
@@ -106,7 +100,7 @@
|
||||
/mob/living/simple_animal/hostile/megafauna/dragon/proc/fire_rain()
|
||||
visible_message("<span class='danger'>Fire rains from the sky!</span>")
|
||||
for(var/turf/turf in range(12,get_turf(src)))
|
||||
if(prob(5))
|
||||
if(prob(10))
|
||||
new /obj/effect/overlay/temp/target(turf)
|
||||
|
||||
|
||||
@@ -169,6 +163,7 @@
|
||||
|
||||
stop_automated_movement = FALSE
|
||||
swooping = 0
|
||||
density = 1
|
||||
|
||||
/obj/item/device/gps/internal/dragon
|
||||
icon_state = null
|
||||
@@ -229,6 +224,7 @@
|
||||
health = 500
|
||||
melee_damage_upper = 30
|
||||
melee_damage_lower = 30
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, CLONE = 1, STAMINA = 0, OXY = 1)
|
||||
loot = list()
|
||||
|
||||
//Blood
|
||||
@@ -239,9 +235,11 @@
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "vial"
|
||||
|
||||
/obj/item/weapon/antag_spawner/slaughter_demon/attack_self(mob/living/carbon/human/user)
|
||||
/obj/item/weapon/dragons_blood/attack_self(mob/living/carbon/human/user)
|
||||
if(!istype(user))
|
||||
return
|
||||
|
||||
|
||||
var/mob/living/carbon/human/H = user
|
||||
var/random = rand(1,5)
|
||||
|
||||
@@ -310,7 +308,7 @@
|
||||
/obj/structure/closet/crate/necropolis/dragon
|
||||
name = "dragon chest"
|
||||
|
||||
/obj/structure/closet/crate/dragon/New()
|
||||
/obj/structure/closet/crate/necropolis/dragon/New()
|
||||
..()
|
||||
var/loot = rand(1,4)
|
||||
switch(loot)
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
if(last_legion)
|
||||
src.loot = list(/obj/item/weapon/staff_of_storms)
|
||||
else if(prob(5))
|
||||
src.loot = list(/obj/structure/closet/crate/necropolis)
|
||||
src.loot = list(/obj/structure/closet/crate/necropolis/tendril)
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/legion/Process_Spacemove(movement_dir = 0)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Attack the weak point for massive damage."
|
||||
health = 1000
|
||||
maxHealth = 1000
|
||||
sentience_type = SENTIENCE_OTHER
|
||||
sentience_type = SENTIENCE_BOSS
|
||||
environment_smash = 4
|
||||
robust_searching = 1
|
||||
stat_attack = 1
|
||||
@@ -12,28 +12,21 @@
|
||||
maxbodytemp = INFINITY
|
||||
layer = 6 //Looks weird with them slipping under mineral walls and cameras and shit otherwise
|
||||
|
||||
var/can_die = FALSE //Used to prevent instagib/instakill attacks like the wand of death
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/Life()
|
||||
if(health <= 0)
|
||||
can_die = TRUE
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/death(gibbed)
|
||||
if(!can_die)
|
||||
if(health > 0)
|
||||
return
|
||||
else
|
||||
feedback_set_details("megafauna_kills","[initial(name)]")
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/gib()
|
||||
if(!can_die)
|
||||
if(health > 0)
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
/mob/living/simple_animal/hostile/megafauna/dust()
|
||||
if(!can_die)
|
||||
if(health > 0)
|
||||
return
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -72,6 +72,7 @@
|
||||
var/list/loot = list() //list of things spawned at mob's loc when it dies
|
||||
var/del_on_death = 0 //causes mob to be deleted on death, useful for mobs that spawn lootable corpses
|
||||
var/deathmessage = ""
|
||||
var/death_sound = null //The sound played on death
|
||||
|
||||
var/allow_movement_on_non_turfs = FALSE
|
||||
|
||||
@@ -417,6 +418,8 @@
|
||||
if(loot.len)
|
||||
for(var/i in loot)
|
||||
new i(loc)
|
||||
if(death_sound)
|
||||
playsound(get_turf(src),death_sound, 200, 1)
|
||||
if(deathmessage && !gibbed)
|
||||
visible_message("<span class='danger'>[deathmessage]</span>")
|
||||
else if(!del_on_death)
|
||||
|
||||
@@ -189,7 +189,10 @@
|
||||
if(H.stat)
|
||||
visible_message("<span class='warning'>Tendrils reach out from \the [src.name] pulling [H] in! Blood seeps over the eggs as [H] is devoured.</span>")
|
||||
playsound(get_turf(src),'sound/magic/Demon_consume.ogg', 100, 1)
|
||||
meat_counter ++
|
||||
if(istype(H,/mob/living/simple_animal/hostile/megafauna/dragon))
|
||||
meat_counter += 20
|
||||
else
|
||||
meat_counter ++
|
||||
H.gib()
|
||||
|
||||
/mob/living/simple_animal/hostile/spawner/ash_walker/spawn_mob()
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 40 KiB |
Reference in New Issue
Block a user