mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Forcefully deprecate meteor_hit()
meteor_hit() is a textbook example of snowflake. What you have here is a proc linked to a single entity (the small meteor) which shouldn't even have it (ever since I reworked meteors, small meteors explode) that is present in FIFTY. FUCKING. FILES. Since an explosion more than clearly does the damage we want done on meteor impact, it is more than logical to remove it and lighten our code of obsolete and obscuranting procs For the handful of times where it isn't possible to straight up remove it (immovable rod, dust, small meteor), the code was quickly patched by making it fire ex_act(2), given that small meteors perform explosion(src.loc, -1, 1, 3, 4, 0) Doing it quick and dirty because otherwise it's going to cause conflicts everywhere
This commit is contained in:
@@ -18,11 +18,6 @@
|
||||
/obj/effect/energy_field/bullet_act(var/obj/item/projectile/Proj)
|
||||
Stress(Proj.damage / 10)
|
||||
|
||||
/obj/effect/energy_field/meteorhit(obj/effect/meteor/M as obj)
|
||||
if(M)
|
||||
walk(M,0)
|
||||
Stress(2)
|
||||
|
||||
/obj/effect/energy_field/proc/Stress(var/severity)
|
||||
strength -= severity
|
||||
|
||||
|
||||
@@ -180,10 +180,6 @@ var/global/list/ghdel_profiling = list()
|
||||
return flags & INSERT_CONTAINER
|
||||
*/
|
||||
|
||||
|
||||
/atom/proc/meteorhit(obj/meteor as obj)
|
||||
return
|
||||
|
||||
/atom/proc/allow_drop()
|
||||
return 1
|
||||
|
||||
|
||||
@@ -357,14 +357,6 @@ var/global/list/datum/stack_recipe/snow_recipes = list (
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/structure/barricade/snow/meteorhit()
|
||||
visible_message("<span class='danger'>\the [src] is blown apart!</span>")
|
||||
new /obj/item/stack/sheet/snow(get_turf(src), 1)
|
||||
new /obj/item/stack/sheet/snow(get_turf(src), 1)
|
||||
new /obj/item/stack/sheet/snow(get_turf(src), 1)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/structure/barricade/snow/blob_act()
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
|
||||
@@ -34,7 +34,7 @@ In my current plan for it, 'solid' will be defined as anything with density == 1
|
||||
|
||||
else if (istype(clong, /mob))
|
||||
if(clong.density || prob(10))
|
||||
clong.meteorhit(src)
|
||||
clong.ex_act(2)
|
||||
else
|
||||
del(src)
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ The "dust" will damage the hull of the station causin minor hull breaches.
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1)
|
||||
|
||||
if(ismob(A))
|
||||
A.meteorhit(src)//This should work for now I guess
|
||||
A.ex_act(2)
|
||||
else if(!istype(A,/obj/machinery/power/emitter) && !istype(A,/obj/machinery/field_generator)) //Protect the singularity from getting released every round!
|
||||
A.ex_act(strength) //Changing emitter/field gen ex_act would make it immune to bombs and C4
|
||||
|
||||
|
||||
@@ -1413,11 +1413,6 @@ It is possible to destroy the net by the occupant or someone else.
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
meteorhit()
|
||||
health-=50
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
hitby(AM as mob|obj)
|
||||
..()
|
||||
for(var/mob/O in viewers(src, null))
|
||||
|
||||
@@ -107,11 +107,10 @@
|
||||
for(var/mob/M in range(10, src))
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
|
||||
shake_camera(M, 3, 2) //Medium hit
|
||||
if(A)
|
||||
A.meteorhit(src)
|
||||
playsound(get_turf(src), "explosion", 50, 1) //Medium boom
|
||||
explosion(src.loc, 2, 4, 6, 8, 0) //Medium meteor, medium boom
|
||||
qdel(src)
|
||||
|
||||
playsound(get_turf(src), "explosion", 50, 1) //Medium boom
|
||||
explosion(src.loc, 2, 4, 6, 8, 0) //Medium meteor, medium boom
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/meteor/ex_act(severity)
|
||||
|
||||
@@ -129,12 +128,10 @@
|
||||
for(var/mob/M in range(8, src))
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
|
||||
shake_camera(M, 2, 1) //Poof
|
||||
if(A)
|
||||
A.meteorhit(src)
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 10, 1)
|
||||
explosion(src.loc, -1, 1, 3, 4, 0) //Tiny meteor doesn't cause too much damage
|
||||
qdel(src)
|
||||
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 10, 1)
|
||||
explosion(src.loc, -1, 1, 3, 4, 0) //Tiny meteor doesn't cause too much damage
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/meteor/big
|
||||
name = "big meteor"
|
||||
@@ -149,10 +146,10 @@
|
||||
for(var/mob/M in range(15, src)) //Now that's visible
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
|
||||
shake_camera(M, 7, 3) //Massive shellshock
|
||||
if(A)
|
||||
explosion(src.loc, 4, 6, 8, 8, 0) //You have been visited by the nuclear meteor
|
||||
playsound(get_turf(src), "explosion", 100, 1) //Deafening boom, default is 50
|
||||
qdel(src)
|
||||
|
||||
explosion(src.loc, 4, 6, 8, 8, 0) //You have been visited by the nuclear meteor
|
||||
playsound(get_turf(src), "explosion", 100, 1) //Deafening boom, default is 50
|
||||
qdel(src)
|
||||
|
||||
/obj/effect/meteor/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(istype(W, /obj/item/weapon/pickaxe))
|
||||
|
||||
@@ -246,11 +246,6 @@
|
||||
healthcheck()
|
||||
..()
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/meteorhit(var/obj/O as obj)
|
||||
src.health = 0
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
/obj/machinery/portable_atmospherics/canister/attackby(var/obj/item/weapon/W as obj, var/mob/user as mob)
|
||||
if(iswelder(W) && src.destroyed)
|
||||
if(weld(W, user))
|
||||
|
||||
@@ -138,12 +138,6 @@
|
||||
..()
|
||||
healthcheck()
|
||||
|
||||
/obj/machinery/bot/meteorhit()
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
src.explode()
|
||||
return
|
||||
|
||||
/obj/machinery/bot/blob_act()
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
|
||||
@@ -190,10 +190,6 @@
|
||||
emergencyShutdown()
|
||||
..()
|
||||
|
||||
/obj/machinery/computer/HolodeckControl/meteorhit(var/obj/O as obj)
|
||||
emergencyShutdown()
|
||||
..()
|
||||
|
||||
/obj/machinery/computer/HolodeckControl/emp_act(severity)
|
||||
emergencyShutdown()
|
||||
..()
|
||||
|
||||
@@ -32,15 +32,6 @@
|
||||
return 0
|
||||
return 1
|
||||
|
||||
/obj/machinery/computer/meteorhit(var/obj/O as obj)
|
||||
for(var/x in verbs)
|
||||
verbs -= x
|
||||
set_broken()
|
||||
var/datum/effect/effect/system/smoke_spread/smoke = new /datum/effect/effect/system/smoke_spread()
|
||||
smoke.set_up(5, 0, src)
|
||||
smoke.start()
|
||||
return
|
||||
|
||||
/obj/machinery/computer/emp_act(severity)
|
||||
if(prob(20/severity)) set_broken()
|
||||
..()
|
||||
|
||||
@@ -106,14 +106,6 @@ for reference:
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
meteorhit()
|
||||
visible_message("<span class='danger'>The barricade is smashed apart!</span>")
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
new /obj/item/stack/sheet/wood(get_turf(src))
|
||||
del(src)
|
||||
return
|
||||
|
||||
blob_act()
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
@@ -248,10 +240,6 @@ for reference:
|
||||
anchored = !anchored
|
||||
icon_state = "barrier[src.locked]"
|
||||
|
||||
/obj/machinery/deployable/barrier/meteorhit()
|
||||
src.explode()
|
||||
return
|
||||
|
||||
/obj/machinery/deployable/barrier/blob_act()
|
||||
src.health -= 25
|
||||
if (src.health <= 0)
|
||||
|
||||
@@ -120,10 +120,6 @@ var/list/all_doors = list()
|
||||
|
||||
return
|
||||
|
||||
/obj/machinery/door/meteorhit(obj/M as obj)
|
||||
open()
|
||||
return
|
||||
|
||||
/obj/machinery/door/attack_ai(mob/user as mob)
|
||||
add_hiddenprint(user)
|
||||
attack_hand(user)
|
||||
|
||||
@@ -174,10 +174,6 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/machinery/hologram/meteorhit()
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/machinery/hologram/Destroy()
|
||||
if(hologram)
|
||||
src:clear_holo()
|
||||
|
||||
@@ -58,10 +58,6 @@
|
||||
if (prob(50))
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/snackbar_machine/meteorhit()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/machinery/snackbar_machine/power_change()
|
||||
if(powered())
|
||||
stat &= ~NOPOWER
|
||||
|
||||
@@ -59,9 +59,6 @@
|
||||
opacity = 1
|
||||
spawn(20) if(src) opacity = 0
|
||||
|
||||
/obj/machinery/shield/meteorhit()
|
||||
src.health -= max_health*0.75 //3/4 health as damage
|
||||
|
||||
if(src.health <= 0)
|
||||
visible_message("<span class='notice'>The [src] dissapates</span>")
|
||||
del(src)
|
||||
@@ -199,13 +196,6 @@
|
||||
update_icon()
|
||||
return
|
||||
|
||||
/obj/machinery/shieldgen/meteorhit(obj/O as obj)
|
||||
src.health -= max_health*0.25 //A quarter of the machine's health
|
||||
if (prob(5))
|
||||
src.malfunction = 1
|
||||
src.checkhp()
|
||||
return
|
||||
|
||||
/obj/machinery/shieldgen/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
|
||||
@@ -522,10 +522,6 @@
|
||||
del src
|
||||
return
|
||||
|
||||
meteorhit()
|
||||
del src
|
||||
return
|
||||
|
||||
proc/update_health()
|
||||
if(src.health<=0)
|
||||
del src
|
||||
|
||||
@@ -680,10 +680,6 @@
|
||||
take_damage(30, "brute")
|
||||
return
|
||||
|
||||
//TODO
|
||||
/obj/mecha/meteorhit()
|
||||
return ex_act(rand(1,3))//should do for now
|
||||
|
||||
/obj/mecha/emp_act(severity)
|
||||
if(get_charge())
|
||||
use_power((cell.charge/2)/severity)
|
||||
|
||||
@@ -85,11 +85,6 @@
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
/obj/effect/alien/resin/meteorhit()
|
||||
health-=50
|
||||
healthcheck()
|
||||
return
|
||||
|
||||
/obj/effect/alien/resin/hitby(AM as mob|obj)
|
||||
..()
|
||||
for(var/mob/O in viewers(src, null))
|
||||
|
||||
@@ -17,9 +17,6 @@ obj/structure/ex_act(severity)
|
||||
if(3.0)
|
||||
return
|
||||
|
||||
obj/structure/meteorhit(obj/O as obj)
|
||||
del(src)
|
||||
|
||||
/obj/structure/Destroy()
|
||||
if(hascall(src, "unbuckle"))
|
||||
src:unbuckle()
|
||||
|
||||
@@ -260,13 +260,6 @@
|
||||
A.loc = src.loc
|
||||
del(src)
|
||||
|
||||
/obj/structure/closet/meteorhit(obj/O as obj)
|
||||
if(O.icon_state == "flaming")
|
||||
for(var/mob/M in src)
|
||||
M.meteorhit(O)
|
||||
src.dump_contents()
|
||||
del(src)
|
||||
|
||||
/obj/structure/closet/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
||||
if(src.opened)
|
||||
if(istype(W, /obj/item/weapon/grab))
|
||||
|
||||
@@ -110,12 +110,6 @@
|
||||
for(var/mob/M in src)
|
||||
shatter(M)
|
||||
|
||||
/obj/structure/closet/statue/meteorhit(obj/O as obj)
|
||||
if(O.icon_state == "flaming")
|
||||
for(var/mob/M in src)
|
||||
M.meteorhit(O)
|
||||
shatter(M)
|
||||
|
||||
/obj/structure/closet/statue/attackby(obj/item/I as obj, mob/user as mob)
|
||||
health -= I.force
|
||||
visible_message("<span class='warning'>[user] strikes [src] with [I].</span>")
|
||||
|
||||
@@ -136,13 +136,6 @@
|
||||
if(occupant) dump()
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/structure/displaycase/meteorhit(obj/O as obj)
|
||||
getFromPool(/obj/item/weapon/shard, loc)
|
||||
if(occupant) dump()
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/structure/displaycase/proc/healthcheck()
|
||||
if (src.health <= 0)
|
||||
if (!( src.destroyed ))
|
||||
|
||||
@@ -53,10 +53,6 @@
|
||||
health -= rand(initial(health)*0.8, initial(health)*3) //Grille will always be blasted, but chances of leaving things over
|
||||
healthcheck(hitsound = 1)
|
||||
|
||||
/obj/structure/grille/meteorhit()
|
||||
health -= rand(initial(health)*0.8, initial(health)*3)
|
||||
healthcheck(hitsound = 1)
|
||||
|
||||
/obj/structure/grille/Bumped(atom/user)
|
||||
if(ismob(user))
|
||||
shock(user, 60) //Give the user the benifit of the doubt
|
||||
|
||||
@@ -39,13 +39,6 @@
|
||||
Break()
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/structure/lamarr/meteorhit(obj/O as obj)
|
||||
getFromPool(/obj/item/weapon/shard, loc)
|
||||
Break()
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/structure/lamarr/proc/healthcheck()
|
||||
if (src.health <= 0)
|
||||
if (!( src.destroyed ))
|
||||
|
||||
@@ -171,11 +171,6 @@ obj/structure/safe/blob_act()
|
||||
obj/structure/safe/ex_act(severity)
|
||||
return
|
||||
|
||||
|
||||
obj/structure/safe/meteorhit(obj/O as obj)
|
||||
return
|
||||
|
||||
|
||||
//FLOOR SAFES
|
||||
/obj/structure/safe/floor
|
||||
name = "floor safe"
|
||||
|
||||
@@ -642,10 +642,6 @@
|
||||
user.drop_item(W, src.loc)
|
||||
return 1
|
||||
|
||||
/obj/structure/rack/meteorhit(obj/O as obj)
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/structure/table/attack_hand(mob/user)
|
||||
if(M_HULK in user.mutations)
|
||||
visible_message("<span class='danger'>[user] smashes [src] apart!</span>")
|
||||
|
||||
@@ -124,11 +124,6 @@
|
||||
health -= rand(30, 50)
|
||||
healthcheck()
|
||||
|
||||
/obj/structure/window/meteorhit()
|
||||
|
||||
health -= rand(100, 150)
|
||||
healthcheck()
|
||||
|
||||
/obj/structure/window/CheckExit(var/atom/movable/O, var/turf/target)
|
||||
|
||||
if(istype(O) && O.checkpass(PASSGLASS))
|
||||
|
||||
@@ -354,15 +354,6 @@
|
||||
visible_message("<span class='danger'>\The [src] spontaenously combusts!.</span>") //!!OH SHIT!!
|
||||
return
|
||||
|
||||
/turf/simulated/wall/meteorhit(obj/M as obj)
|
||||
if(prob(15) && !rotting)
|
||||
dismantle_wall()
|
||||
else if(prob(70) && !rotting)
|
||||
ChangeTurf(/turf/simulated/floor/plating)
|
||||
else
|
||||
ReplaceWithLattice()
|
||||
return 0
|
||||
|
||||
/turf/simulated/wall/Destroy()
|
||||
for(var/obj/effect/E in src)
|
||||
if(E.name == "Wallrot")
|
||||
|
||||
@@ -84,18 +84,6 @@
|
||||
|
||||
return
|
||||
|
||||
|
||||
/mob/living/carbon/alien/humanoid/meteorhit(O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
visible_message("<span class='warning'>\The [src] has been hit by [O]</span>")
|
||||
if(health > 0)
|
||||
adjustFireLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25))
|
||||
adjustFireLoss(30)
|
||||
updatehealth()
|
||||
return
|
||||
|
||||
|
||||
/mob/living/carbon/alien/humanoid/attack_paw(mob/living/carbon/monkey/M as mob)
|
||||
if(!ismonkey(M))
|
||||
return//Fix for aliens receiving double messages when attacking other aliens.
|
||||
|
||||
@@ -94,16 +94,6 @@
|
||||
/mob/living/carbon/alien/larva/attack_ui(slot_id)
|
||||
return
|
||||
|
||||
/mob/living/carbon/alien/larva/meteorhit(O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
visible_message("<span class='warning'>\The [src] has been hit by [O]")
|
||||
if(health > 0)
|
||||
adjustBruteLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25)) //You fucking what
|
||||
adjustFireLoss(30)
|
||||
updatehealth()
|
||||
return
|
||||
|
||||
/mob/living/carbon/alien/larva/attack_animal(mob/living/simple_animal/M as mob)
|
||||
if(M.melee_damage_upper == 0)
|
||||
M.emote("[M.friendly] [src]")
|
||||
|
||||
@@ -279,25 +279,6 @@
|
||||
apply_damage(rand(30,40), BRUTE, affecting, run_armor_check(affecting, "melee"))
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/meteorhit(O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("<span class='warning'>[src] has been hit by [O]</span>", 1)
|
||||
if (health > 0)
|
||||
var/datum/organ/external/affecting = get_organ(pick("chest", "chest", "chest", "head"))
|
||||
if(!affecting) return
|
||||
if (istype(O, /obj/effect/immovablerod))
|
||||
if(affecting.take_damage(101, 0))
|
||||
UpdateDamageIcon()
|
||||
else
|
||||
if(affecting.take_damage((istype(O, /obj/effect/meteor/small) ? 10 : 25), 30))
|
||||
UpdateDamageIcon()
|
||||
updatehealth()
|
||||
return
|
||||
|
||||
|
||||
/mob/living/carbon/human/attack_animal(mob/living/simple_animal/M as mob)
|
||||
if(M.melee_damage_upper == 0)
|
||||
M.emote("[M.friendly] [src]")
|
||||
|
||||
@@ -373,21 +373,3 @@ emp_act
|
||||
var/datum/organ/external/affecting = get_organ(ran_zone(dam_zone))
|
||||
apply_damage(rand(30,40), BRUTE, affecting, run_armor_check(affecting, "melee"))
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/meteorhit(O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message("<span class='warning'>[src] has been hit by [O]</span>", 1)
|
||||
if (health > 0)
|
||||
var/datum/organ/external/affecting = get_organ(pick("chest", "chest", "chest", "head"))
|
||||
if(!affecting) return
|
||||
if (istype(O, /obj/effect/immovablerod))
|
||||
if(affecting.take_damage(101, 0))
|
||||
UpdateDamageIcon(1)
|
||||
else
|
||||
if(affecting.take_damage((istype(O, /obj/effect/meteor/small) ? 10 : 25), 30))
|
||||
UpdateDamageIcon(1)
|
||||
updatehealth()
|
||||
return
|
||||
@@ -274,20 +274,6 @@
|
||||
/mob/living/carbon/slime/attack_ui(slot)
|
||||
return
|
||||
|
||||
/mob/living/carbon/slime/meteorhit(O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
for(var/mob/M in viewers(src, null))
|
||||
if ((M.client && !( M.blinded )))
|
||||
M.show_message(text("<span class='warning'>[] has been hit by []</span>", src, O), 1)
|
||||
if (health > 0)
|
||||
adjustBruteLoss((istype(O, /obj/effect/meteor/small) ? 10 : 25))
|
||||
adjustFireLoss(30)
|
||||
|
||||
updatehealth()
|
||||
return
|
||||
|
||||
|
||||
/mob/living/carbon/slime/attack_slime(mob/living/carbon/slime/M as mob)
|
||||
if (!ticker)
|
||||
M << "You cannot attack people before the game has started."
|
||||
|
||||
@@ -329,19 +329,6 @@
|
||||
..()
|
||||
return
|
||||
|
||||
/mob/living/carbon/monkey/meteorhit(obj/O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
for(var/mob/M in viewers(src, null))
|
||||
M.show_message(text("<span class='warning'>[] has been hit by []</span>", src, O), 1)
|
||||
if (health > 0)
|
||||
var/shielded = 0
|
||||
adjustBruteLoss(30)
|
||||
if ((O.icon_state == "flaming" && !( shielded )))
|
||||
adjustFireLoss(40)
|
||||
health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss()
|
||||
return
|
||||
|
||||
//mob/living/carbon/monkey/bullet_act(var/obj/item/projectile/Proj)taken care of in living
|
||||
|
||||
/mob/living/carbon/monkey/getarmor(var/def_zone, var/type)
|
||||
|
||||
@@ -422,19 +422,6 @@ var/list/ai_list = list()
|
||||
|
||||
return
|
||||
|
||||
/mob/living/silicon/ai/meteorhit(obj/O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
for(var/mob/M in viewers(src, null))
|
||||
M.show_message(text("<span class='warning'>[] has been hit by []</span>", src, O), 1)
|
||||
//Foreach goto(19)
|
||||
if (health > 0)
|
||||
adjustBruteLoss(30)
|
||||
if ((O.icon_state == "flaming"))
|
||||
adjustFireLoss(40)
|
||||
updatehealth()
|
||||
return
|
||||
|
||||
/mob/living/silicon/ai/bullet_act(var/obj/item/projectile/Proj)
|
||||
..(Proj)
|
||||
updatehealth()
|
||||
|
||||
@@ -173,18 +173,6 @@
|
||||
|
||||
// See software.dm for Topic()
|
||||
|
||||
/mob/living/silicon/pai/meteorhit(obj/O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
for(var/mob/M in viewers(src, null))
|
||||
M.show_message(text("<span class='warning'>[] has been hit by []</span>", src, O), 1)
|
||||
if (src.health > 0)
|
||||
src.adjustBruteLoss(30)
|
||||
if ((O.icon_state == "flaming"))
|
||||
src.adjustFireLoss(40)
|
||||
src.updatehealth()
|
||||
return
|
||||
|
||||
//mob/living/silicon/pai/bullet_act(var/obj/item/projectile/Proj)
|
||||
|
||||
/mob/living/silicon/pai/attack_alien(mob/living/carbon/alien/humanoid/M as mob)
|
||||
|
||||
@@ -617,21 +617,6 @@
|
||||
|
||||
updatehealth()
|
||||
|
||||
|
||||
/mob/living/silicon/robot/meteorhit(obj/O as obj)
|
||||
if(flags & INVULNERABLE)
|
||||
return
|
||||
for(var/mob/M in viewers(src, null))
|
||||
M.show_message(text("<span class='attack'>[src] has been hit by [O]</span>"), 1)
|
||||
//Foreach goto(19)
|
||||
if (health > 0)
|
||||
adjustBruteLoss(30)
|
||||
if ((O.icon_state == "flaming"))
|
||||
adjustFireLoss(40)
|
||||
updatehealth()
|
||||
return
|
||||
|
||||
|
||||
/mob/living/silicon/robot/bullet_act(var/obj/item/projectile/Proj)
|
||||
..(Proj)
|
||||
updatehealth()
|
||||
|
||||
@@ -1176,11 +1176,6 @@ obj/machinery/power/apc/proc/autoset(var/val, var/on)
|
||||
|
||||
// damage and destruction acts
|
||||
|
||||
/obj/machinery/power/apc/meteorhit(var/obj/O as obj)
|
||||
|
||||
set_broken()
|
||||
return
|
||||
|
||||
/obj/machinery/power/apc/emp_act(severity)
|
||||
if(cell)
|
||||
cell.emp_act(severity)
|
||||
|
||||
@@ -39,9 +39,6 @@
|
||||
/obj/machinery/containment_field/ex_act(severity)
|
||||
return 0
|
||||
|
||||
/obj/machinery/containment_field/meteorhit()
|
||||
return 0
|
||||
|
||||
/obj/machinery/containment_field/HasProximity(atom/movable/AM as mob|obj)
|
||||
if(istype(AM,/mob/living/silicon) && prob(40))
|
||||
shock(AM)
|
||||
|
||||
@@ -188,10 +188,6 @@
|
||||
|
||||
return 1
|
||||
|
||||
/obj/machinery/containment_field/meteorhit()
|
||||
|
||||
return 0
|
||||
|
||||
/obj/machinery/power/emitter/process()
|
||||
|
||||
if(!anchored) //If it got unanchored "inexplicably"... fucking badmins
|
||||
|
||||
@@ -129,9 +129,6 @@ var/global/list/obj/machinery/field_generator/field_gen_list = list()
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/machinery/containment_field/meteorhit()
|
||||
return 0
|
||||
|
||||
/obj/machinery/field_generator/bullet_act(var/obj/item/projectile/Proj)
|
||||
if(Proj.flag != "bullet")
|
||||
power += Proj.damage
|
||||
|
||||
@@ -161,12 +161,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/particle_accelerator/meteorhit()
|
||||
if(prob(50))
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/structure/particle_accelerator/update_icon()
|
||||
switch(construction_state)
|
||||
if(0,1)
|
||||
@@ -347,13 +341,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/particle_accelerator/meteorhit()
|
||||
if(prob(50))
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/particle_accelerator/proc/update_state()
|
||||
return 0
|
||||
|
||||
|
||||
@@ -227,10 +227,6 @@ Manual Tracking Direction:"}
|
||||
stat |= BROKEN
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/power/solar/control/meteorhit()
|
||||
broken()
|
||||
return
|
||||
|
||||
/obj/machinery/power/solar/control/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
|
||||
@@ -132,12 +132,6 @@
|
||||
if(health > 1)
|
||||
health = 1 //Only holding up on shards and scrap
|
||||
|
||||
/obj/machinery/power/solar/panel/meteorhit()
|
||||
if(stat & !BROKEN)
|
||||
broken()
|
||||
else
|
||||
kill()
|
||||
|
||||
/obj/machinery/power/solar/panel/ex_act(severity)
|
||||
switch(severity)
|
||||
if(1.0)
|
||||
|
||||
@@ -82,6 +82,7 @@
|
||||
playsound(M.loc, 'sound/effects/bamf.ogg', 50, 0)
|
||||
return 1
|
||||
|
||||
//This shouldn't fucking exist, just spawn a meteor damnit
|
||||
/obj/item/projectile/meteor
|
||||
name = "meteor"
|
||||
icon = 'icons/obj/meteor.dmi'
|
||||
@@ -91,26 +92,20 @@
|
||||
nodamage = 1
|
||||
flag = "bullet"
|
||||
|
||||
Bump(atom/A as mob|obj|turf|area)
|
||||
if(A == firer)
|
||||
loc = A.loc
|
||||
return
|
||||
/obj/item/projectile/meteor/Bump(atom/A as mob|obj|turf|area)
|
||||
if(A == firer)
|
||||
loc = A.loc
|
||||
return
|
||||
|
||||
sleep(-1) //Might not be important enough for a sleep(-1) but the sleep/spawn itself is necessary thanks to explosions and metoerhits
|
||||
//Copied straight from small meteor code
|
||||
spawn(0)
|
||||
for(var/mob/M in range(8, src))
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai)) //bad idea to shake an ai's view
|
||||
shake_camera(M, 2, 1) //Poof
|
||||
|
||||
if(src)//Do not add to this if() statement, otherwise the meteor won't delete them
|
||||
if(A)
|
||||
|
||||
A.meteorhit(src)
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 40, 1)
|
||||
|
||||
for(var/mob/M in range(10, src))
|
||||
if(!M.stat && !istype(M, /mob/living/silicon/ai))\
|
||||
shake_camera(M, 3, 1)
|
||||
del(src)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
playsound(get_turf(src), 'sound/effects/meteorimpact.ogg', 10, 1)
|
||||
explosion(src.loc, -1, 1, 3, 4, 0) //Tiny meteor doesn't cause too much damage
|
||||
qdel(src)
|
||||
|
||||
/obj/item/projectile/energy/floramut
|
||||
name = "alpha somatoray"
|
||||
|
||||
@@ -109,10 +109,6 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
||||
if (prob(50))
|
||||
del(src)
|
||||
|
||||
/obj/machinery/chem_dispenser/meteorhit()
|
||||
del(src)
|
||||
return
|
||||
|
||||
/**
|
||||
* The ui_interact proc is used to open and update Nano UIs
|
||||
* If ui_interact is not used then the UI will not update correctly
|
||||
@@ -415,10 +411,6 @@ USE THIS CHEMISTRY DISPENSER FOR MAPS SO THEY START AT 100 ENERGY
|
||||
if (prob(50))
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/chem_master/meteorhit()
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
|
||||
|
||||
if(..())
|
||||
|
||||
@@ -34,10 +34,6 @@ Note: Must be placed within 3 tiles of the R&D Console
|
||||
T = Clamp(T, 0, 1)
|
||||
decon_mod = T
|
||||
|
||||
/obj/machinery/r_n_d/destructive_analyzer/meteorhit()
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/machinery/r_n_d/destructive_analyzer/proc/ConvertReqString2List(var/list/source_list)
|
||||
var/list/temp_list = params2list(source_list)
|
||||
for(var/O in temp_list)
|
||||
|
||||
@@ -67,10 +67,6 @@ var/global/list/rnd_machines = list()
|
||||
if (prob(50))
|
||||
del(src)
|
||||
|
||||
/obj/machinery/r_n_d/meteorhit()
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/machinery/r_n_d/attack_hand(mob/user as mob)
|
||||
if (shocked)
|
||||
shock(user,50)
|
||||
|
||||
@@ -76,11 +76,6 @@
|
||||
produce_heat(heat_gen)
|
||||
delay = initial(delay)
|
||||
|
||||
/obj/machinery/r_n_d/server/meteorhit(var/obj/O as obj)
|
||||
griefProtection()
|
||||
..()
|
||||
|
||||
|
||||
/obj/machinery/r_n_d/server/emp_act(severity)
|
||||
griefProtection()
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user