mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 23:48:28 +01:00
nor-shall-our-souls-falter
This commit is contained in:
@@ -704,33 +704,6 @@
|
||||
|
||||
src.interact(user)
|
||||
|
||||
/obj/machinery/power/apc/attack_alien(mob/living/carbon/alien/humanoid/user)
|
||||
if(!user)
|
||||
return
|
||||
if(!istype(user,/mob/living/carbon/alien/humanoid))
|
||||
return
|
||||
if(indestructible)
|
||||
return
|
||||
user.changeNext_move(CLICK_CD_MELEE)
|
||||
user.do_attack_animation(src)
|
||||
user.visible_message("<span class='warning'>[user.name] slashes at the [src.name]!", "<span class='notice'>You slash at the [src.name]!</span></span>")
|
||||
playsound(src.loc, 'sound/weapons/slash.ogg', 100, 1)
|
||||
|
||||
var/allcut = wires.IsAllCut()
|
||||
|
||||
if(beenhit >= pick(3, 4) && wiresexposed != 1)
|
||||
wiresexposed = 1
|
||||
src.update_icon()
|
||||
src.visible_message("<span class='warning'>The [src.name]'s cover flies open, exposing the wires!</span>")
|
||||
|
||||
else if(wiresexposed == 1 && allcut == 0)
|
||||
wires.CutAll()
|
||||
src.update_icon()
|
||||
src.visible_message("<span class='warning'>The [src.name]'s wires are shredded!</span>")
|
||||
else
|
||||
beenhit += 1
|
||||
return
|
||||
|
||||
/obj/machinery/power/apc/attack_ghost(mob/user)
|
||||
if(wiresexposed)
|
||||
wires.Interact(user)
|
||||
@@ -1329,12 +1302,8 @@
|
||||
cell.ex_act(3.0)
|
||||
return
|
||||
|
||||
/obj/machinery/power/apc/blob_act()
|
||||
if(prob(75))
|
||||
set_broken()
|
||||
if(cell && prob(5))
|
||||
cell.blob_act()
|
||||
|
||||
/obj/machinery/power/apc/blob_act(obj/structure/blob/B)
|
||||
set_broken()
|
||||
|
||||
/obj/machinery/power/apc/disconnect_terminal()
|
||||
if(terminal)
|
||||
|
||||
@@ -161,7 +161,7 @@
|
||||
if(prob(25))
|
||||
corrupt()
|
||||
|
||||
/obj/item/stock_parts/cell/blob_act()
|
||||
/obj/item/stock_parts/cell/blob_act(obj/structure/blob/B)
|
||||
ex_act(EXPLODE_DEVASTATE)
|
||||
|
||||
/obj/item/stock_parts/cell/proc/get_electrocute_damage()
|
||||
|
||||
@@ -32,6 +32,10 @@ var/const/GRAV_NEEDS_WRENCH = 3
|
||||
if(severity == 1) // Very sturdy.
|
||||
set_broken()
|
||||
|
||||
/obj/machinery/gravity_generator/blob_act(obj/structure/blob/B)
|
||||
if(prob(20))
|
||||
set_broken()
|
||||
|
||||
/obj/machinery/gravity_generator/tesla_act(power, explosive)
|
||||
..()
|
||||
if(explosive)
|
||||
|
||||
@@ -113,6 +113,10 @@
|
||||
else
|
||||
return ..()
|
||||
|
||||
/obj/structure/light_construct/blob_act(obj/structure/blob/B)
|
||||
if(B && B.loc == loc)
|
||||
qdel(src)
|
||||
|
||||
/obj/machinery/light_construct/small
|
||||
name = "small light fixture frame"
|
||||
desc = "A small light fixture under construction."
|
||||
@@ -397,6 +401,19 @@
|
||||
if(prob(damage_amount * 5))
|
||||
break_light_tube()
|
||||
|
||||
/obj/machinery/light/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
switch(damage_type)
|
||||
if(BRUTE)
|
||||
switch(status)
|
||||
if(LIGHT_EMPTY)
|
||||
playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE)
|
||||
if(LIGHT_BROKEN)
|
||||
playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 90, TRUE)
|
||||
else
|
||||
playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE)
|
||||
if(BURN)
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
|
||||
|
||||
// returns whether this light has power
|
||||
// true if area has power and lightswitch is on
|
||||
/obj/machinery/light/proc/has_power()
|
||||
@@ -420,29 +437,7 @@
|
||||
// ai attack - make lights flicker, because why not
|
||||
/obj/machinery/light/attack_ai(mob/user)
|
||||
src.flicker(1)
|
||||
return
|
||||
|
||||
// Aliens smash the bulb but do not get electrocuted./N
|
||||
/obj/machinery/light/attack_alien(mob/living/carbon/alien/humanoid/user)//So larva don't go breaking light bulbs.
|
||||
if(status == LIGHT_EMPTY||status == LIGHT_BROKEN)
|
||||
to_chat(user, "<span class=notice'>That object is useless to you.</span>")
|
||||
return
|
||||
else if(status == LIGHT_OK||status == LIGHT_BURNED)
|
||||
user.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[user.name] smashed the light!</span>", "You hear a tinkle of breaking glass")
|
||||
break_light_tube()
|
||||
return
|
||||
|
||||
/obj/machinery/light/attack_animal(mob/living/simple_animal/M)
|
||||
if(M.melee_damage_upper == 0) return
|
||||
if(status == LIGHT_EMPTY||status == LIGHT_BROKEN)
|
||||
to_chat(M, "<span class='warning'>That object is useless to you.</span>")
|
||||
return
|
||||
else if(status == LIGHT_OK||status == LIGHT_BURNED)
|
||||
M.do_attack_animation(src)
|
||||
visible_message("<span class='danger'>[M.name] smashed the light!</span>", "You hear a tinkle of breaking glass")
|
||||
break_light_tube()
|
||||
return
|
||||
// attack with hand - remove tube/bulb
|
||||
// if hands aren't protected and the light is on, burn the player
|
||||
|
||||
@@ -572,14 +567,6 @@
|
||||
break_light_tube()
|
||||
if(3.0)
|
||||
break_light_tube()
|
||||
return
|
||||
|
||||
//blob effect
|
||||
|
||||
/obj/machinery/light/blob_act()
|
||||
if(prob(75))
|
||||
qdel(src)
|
||||
|
||||
|
||||
// timed process
|
||||
// use power
|
||||
|
||||
@@ -25,14 +25,34 @@
|
||||
shock_field(user)
|
||||
return 1
|
||||
|
||||
/obj/machinery/field/containment/attackby(obj/item/W, mob/user, params)
|
||||
shock(user)
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/field/containment/blob_act()
|
||||
return 0
|
||||
/obj/machinery/field/containment/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
switch(damage_type)
|
||||
if(BURN)
|
||||
playsound(loc, 'sound/effects/empulse.ogg', 75, TRUE)
|
||||
if(BRUTE)
|
||||
playsound(loc, 'sound/effects/empulse.ogg', 75, TRUE)
|
||||
|
||||
/obj/machinery/field/containment/blob_act(obj/structure/blob/B)
|
||||
return FALSE
|
||||
|
||||
|
||||
/obj/machinery/field/containment/ex_act(severity)
|
||||
return 0
|
||||
|
||||
/obj/machinery/field/containment/attack_animal(mob/living/simple_animal/M)
|
||||
if(!FG1 || !FG2)
|
||||
qdel(src)
|
||||
return
|
||||
if(ismegafauna(M))
|
||||
M.visible_message("<span class='warning'>[M] glows fiercely as the containment field flickers out!</span>")
|
||||
FG1.calc_power(INFINITY) //rip that 'containment' field
|
||||
M.adjustHealth(-M.obj_damage)
|
||||
else
|
||||
..()
|
||||
|
||||
/obj/machinery/field/containment/Crossed(mob/mover, oldloc)
|
||||
if(isliving(mover))
|
||||
|
||||
@@ -174,6 +174,15 @@
|
||||
src.use_power = IDLE_POWER_USE */
|
||||
return 1
|
||||
|
||||
/obj/machinery/power/emitter/attack_animal(mob/living/simple_animal/M)
|
||||
if(ismegafauna(M) && anchored)
|
||||
state = 0
|
||||
anchored = FALSE
|
||||
M.visible_message("<span class='warning'>[M] rips [src] free from its moorings!</span>")
|
||||
else
|
||||
..()
|
||||
if(!anchored)
|
||||
step(src, get_dir(M, src))
|
||||
|
||||
/obj/machinery/power/emitter/process()
|
||||
if(stat & (BROKEN))
|
||||
|
||||
@@ -137,8 +137,17 @@ field_generator power level display
|
||||
/obj/machinery/field/generator/emp_act()
|
||||
return 0
|
||||
|
||||
/obj/machinery/field/generator/attack_animal(mob/living/simple_animal/M)
|
||||
if(M.environment_smash & ENVIRONMENT_SMASH_RWALLS && active == FG_OFFLINE && state != FG_UNSECURED)
|
||||
state = FG_UNSECURED
|
||||
anchored = FALSE
|
||||
M.visible_message("<span class='warning'>[M] rips [src] free from its moorings!</span>")
|
||||
else
|
||||
..()
|
||||
if(!anchored)
|
||||
step(src, get_dir(M, src))
|
||||
|
||||
/obj/machinery/field/generator/blob_act()
|
||||
/obj/machinery/field/generator/blob_act(obj/structure/blob/B)
|
||||
if(active)
|
||||
return 0
|
||||
else
|
||||
|
||||
@@ -162,16 +162,10 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
if(3.0)
|
||||
if(prob(25))
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/particle_accelerator/blob_act()
|
||||
/obj/machinery/particle_accelerator/control_box/blob_act(obj/structure/blob/B)
|
||||
if(prob(50))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/structure/particle_accelerator/update_icon()
|
||||
switch(construction_state)
|
||||
@@ -340,16 +334,6 @@ So, hopefully this is helpful if any more icons are to be added/changed/wonderin
|
||||
if(3.0)
|
||||
if(prob(25))
|
||||
qdel(src)
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/particle_accelerator/blob_act()
|
||||
if(prob(50))
|
||||
qdel(src)
|
||||
return
|
||||
|
||||
|
||||
/obj/machinery/particle_accelerator/proc/update_state()
|
||||
return 0
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
/obj/singularity/Process_Spacemove() //The singularity stops drifting for no man!
|
||||
return 0
|
||||
|
||||
/obj/singularity/blob_act(severity)
|
||||
/obj/singularity/blob_act(obj/structure/blob/B)
|
||||
return
|
||||
|
||||
/obj/singularity/ex_act(severity)
|
||||
@@ -95,6 +95,7 @@
|
||||
|
||||
|
||||
/obj/singularity/bullet_act(obj/item/projectile/P)
|
||||
qdel(P)
|
||||
return 0 //Will there be an impact? Who knows. Will we see it? No.
|
||||
|
||||
|
||||
@@ -274,7 +275,7 @@
|
||||
desc = "[initial(desc)] It glows fiercely with inner fire."
|
||||
name = "supermatter-charged [initial(name)]"
|
||||
consumedSupermatter = 1
|
||||
light_range = 10
|
||||
set_light(10)
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -172,12 +172,12 @@
|
||||
var/turf/tempLoc = get_step(src, reverse_direction(tempDir))
|
||||
if(istype(tempLoc, /turf/space))
|
||||
to_chat(user, "<span class='warning'>You can't build a terminal on space.</span>")
|
||||
return
|
||||
return
|
||||
else if(istype(tempLoc))
|
||||
if(tempLoc.intact)
|
||||
to_chat(user, "<span class='warning'>You must remove the floor plating first.</span>")
|
||||
return
|
||||
|
||||
return
|
||||
|
||||
to_chat(user, "<span class='notice'>You start adding cable to the [src].</span>")
|
||||
playsound(loc, C.usesound, 50, 1)
|
||||
|
||||
@@ -353,9 +353,6 @@
|
||||
add_fingerprint(user)
|
||||
ui_interact(user)
|
||||
|
||||
/obj/machinery/power/smes/attack_alien(mob/living/carbon/alien/humanoid/user)
|
||||
return
|
||||
|
||||
/obj/machinery/power/smes/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1)
|
||||
if(stat & BROKEN)
|
||||
return
|
||||
|
||||
+19
-17
@@ -74,12 +74,15 @@
|
||||
src.healthcheck()
|
||||
..()
|
||||
|
||||
|
||||
/obj/machinery/power/solar/blob_act()
|
||||
src.health--
|
||||
src.healthcheck()
|
||||
return
|
||||
|
||||
/obj/machinery/power/solar/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
switch(damage_type)
|
||||
if(BRUTE)
|
||||
if(stat & BROKEN)
|
||||
playsound(loc, 'sound/effects/hit_on_shattered_glass.ogg', 60, TRUE)
|
||||
else
|
||||
playsound(loc, 'sound/effects/glasshit.ogg', 90, TRUE)
|
||||
if(BURN)
|
||||
playsound(loc, 'sound/items/welder.ogg', 100, TRUE)
|
||||
|
||||
/obj/machinery/power/solar/proc/healthcheck()
|
||||
if(src.health <= 0)
|
||||
@@ -154,12 +157,6 @@
|
||||
if(prob(25) && broken())
|
||||
new /obj/item/shard(src.loc)
|
||||
|
||||
/obj/machinery/power/solar/blob_act()
|
||||
if(prob(75))
|
||||
broken()
|
||||
src.density = 0
|
||||
|
||||
|
||||
/obj/machinery/power/solar/fake/New(var/turf/loc, var/obj/item/solar_assembly/S)
|
||||
..(loc, S, 0)
|
||||
|
||||
@@ -441,6 +438,16 @@
|
||||
src.attack_hand(user)
|
||||
return
|
||||
|
||||
/obj/machinery/power/solar_control/play_attack_sound(damage_amount, damage_type = BRUTE, damage_flag = 0)
|
||||
switch(damage_type)
|
||||
if(BRUTE)
|
||||
if(stat & BROKEN)
|
||||
playsound(src.loc, 'sound/effects/hit_on_shattered_glass.ogg', 70, TRUE)
|
||||
else
|
||||
playsound(src.loc, 'sound/effects/glasshit.ogg', 75, TRUE)
|
||||
if(BURN)
|
||||
playsound(src.loc, 'sound/items/welder.ogg', 100, TRUE)
|
||||
|
||||
/obj/machinery/power/solar_control/process()
|
||||
lastgen = gen
|
||||
gen = 0
|
||||
@@ -524,11 +531,6 @@
|
||||
if(prob(25))
|
||||
broken()
|
||||
|
||||
/obj/machinery/power/solar_control/blob_act()
|
||||
if(prob(75))
|
||||
broken()
|
||||
src.density = 0
|
||||
|
||||
//
|
||||
// MISC
|
||||
//
|
||||
|
||||
Reference in New Issue
Block a user