Blobs can no longer eat the supermatter (#17205)

* Blobs can no longer eat the supermatter

* phil'd

* phil'd
This commit is contained in:
Joan Lung
2016-04-29 20:29:20 +02:00
committed by phil235
parent 1e0c5acd1f
commit 6fc1d4fde4
62 changed files with 84 additions and 71 deletions
@@ -203,7 +203,7 @@
air_update_turf() // Update the environment if needed.
update_icon()
/obj/machinery/portable_atmospherics/canister/blob_act()
/obj/machinery/portable_atmospherics/canister/blob_act(obj/effect/blob/B)
take_damage(100, BRUTE, 0)
/obj/machinery/portable_atmospherics/canister/bullet_act(obj/item/projectile/P)
+1 -1
View File
@@ -204,6 +204,6 @@
emergency_shutdown()
..()
/obj/machinery/computer/holodeck/blob_act()
/obj/machinery/computer/holodeck/blob_act(obj/effect/blob/B)
emergency_shutdown()
..()
@@ -38,7 +38,7 @@
/mob/living/carbon/brain/ex_act() //you cant blow up brainmobs because it makes transfer_to() freak out when borgs blow up.
return
/mob/living/carbon/brain/blob_act()
/mob/living/carbon/brain/blob_act(obj/effect/blob/B)
return
/mob/living/carbon/brain/UnarmedAttack(atom/A)//Stops runtimes due to attack_animal being the default
+1 -1
View File
@@ -341,7 +341,7 @@
/mob/living/carbon/is_muzzled()
return(istype(src.wear_mask, /obj/item/clothing/mask/muzzle))
/mob/living/carbon/blob_act()
/mob/living/carbon/blob_act(obj/effect/blob/B)
if (stat == DEAD)
return
else
@@ -153,7 +153,7 @@
..()
/mob/living/carbon/human/blob_act()
/mob/living/carbon/human/blob_act(obj/effect/blob/B)
if(stat == DEAD)
return
show_message("<span class='userdanger'>The blob attacks you!</span>")
+1 -1
View File
@@ -350,7 +350,7 @@ var/list/ai_list = list()
SSshuttle.cancelEvac(src)
return
/mob/living/silicon/ai/blob_act()
/mob/living/silicon/ai/blob_act(obj/effect/blob/B)
if (stat != DEAD)
adjustBruteLoss(60)
updatehealth()
+1 -1
View File
@@ -92,7 +92,7 @@
else
stat(null, text("Systems nonfunctional"))
/mob/living/silicon/pai/blob_act()
/mob/living/silicon/pai/blob_act(obj/effect/blob/B)
return 0
/mob/living/silicon/pai/restrained()
@@ -352,7 +352,7 @@
if(thruster_button)
thruster_button.icon_state = "ionpulse[ionpulse_on]"
/mob/living/silicon/robot/blob_act()
/mob/living/silicon/robot/blob_act(obj/effect/blob/B)
if (stat != 2)
adjustBruteLoss(60)
updatehealth()
@@ -235,7 +235,7 @@
..()
/mob/living/simple_animal/blob_act()
/mob/living/simple_animal/blob_act(obj/effect/blob/B)
adjustBruteLoss(20)
return
@@ -121,7 +121,7 @@ It is possible to destroy the net by the occupant or someone else.
if(3)
take_damage(rand(10,25), BRUTE, 0)
/obj/effect/energy_net/blob_act()
/obj/effect/energy_net/blob_act(obj/effect/blob/B)
qdel(src)
/obj/effect/energy_net/hitby(atom/movable/AM)
+1 -1
View File
@@ -309,7 +309,7 @@
toner = 0
/obj/machinery/photocopier/blob_act()
/obj/machinery/photocopier/blob_act(obj/effect/blob/B)
if(prob(50))
qdel(src)
else
+1 -1
View File
@@ -1095,7 +1095,7 @@
if(prob(25))
set_broken()
/obj/machinery/power/apc/blob_act()
/obj/machinery/power/apc/blob_act(obj/effect/blob/B)
set_broken()
/obj/machinery/power/apc/disconnect_terminal()
+1 -1
View File
@@ -155,7 +155,7 @@
corrupt()
/obj/item/weapon/stock_parts/cell/blob_act()
/obj/item/weapon/stock_parts/cell/blob_act(obj/effect/blob/B)
ex_act(1)
/obj/item/weapon/stock_parts/cell/proc/get_electrocute_damage()
+1 -1
View File
@@ -32,7 +32,7 @@ var/const/GRAV_NEEDS_WRENCH = 3
if(severity == 1) // Very sturdy.
set_broken()
/obj/machinery/gravity_generator/blob_act()
/obj/machinery/gravity_generator/blob_act(obj/effect/blob/B)
if(prob(20))
set_broken()
@@ -27,7 +27,7 @@
return 1
/obj/machinery/field/containment/blob_act()
/obj/machinery/field/containment/blob_act(obj/effect/blob/B)
return 0
@@ -138,7 +138,7 @@ field_generator power level display
return 0
/obj/machinery/field/generator/blob_act()
/obj/machinery/field/generator/blob_act(obj/effect/blob/B)
if(active)
return 0
else
@@ -149,7 +149,7 @@
master.toggle_power()
investigate_log("was moved whilst active; it <font color='red'>powered down</font>.","singulo")
/obj/structure/particle_accelerator/blob_act()
/obj/structure/particle_accelerator/blob_act(obj/effect/blob/B)
if(prob(50))
qdel(src)
@@ -320,7 +320,7 @@
..()
/obj/machinery/particle_accelerator/control_box/blob_act()
/obj/machinery/particle_accelerator/control_box/blob_act(obj/effect/blob/B)
if(prob(50))
qdel(src)
@@ -63,7 +63,7 @@
/obj/singularity/Process_Spacemove() //The singularity stops drifting for no man!
return 0
/obj/singularity/blob_act(severity)
/obj/singularity/blob_act(obj/effect/blob/B)
return
/obj/singularity/ex_act(severity, target)
+1 -1
View File
@@ -537,7 +537,7 @@
if(3)
take_damage(rand(10,20), BRUTE, 0)
/obj/machinery/power/solar_control/blob_act()
/obj/machinery/power/solar_control/blob_act(obj/effect/blob/B)
if (prob(75))
set_broken()
src.density = 0
+14 -1
View File
@@ -225,6 +225,19 @@
qdel(src)
return(gain)
/obj/machinery/power/supermatter_shard/blob_act(obj/effect/blob/B)
if(B && !istype(loc, /turf/open/space)) //does nothing in space
playsound(get_turf(src), 'sound/effects/supermatter.ogg', 50, 1)
damage += B.health * 0.5 //take damage equal to 50% of remaining blob health before it tried to eat us
if(B.health > 100)
B.visible_message("<span class='danger'>\The [B] strikes at \the [src] and flinches away!</span>",\
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
B.take_damage(100, BURN, src)
else
B.visible_message("<span class='danger'>\The [B] strikes at \the [src] and rapidly flashes to ash.</span>",\
"<span class='italics'>You hear a loud crack as you are washed with a wave of heat.</span>")
Consume(B)
/obj/machinery/power/supermatter_shard/attack_paw(mob/user)
return attack_hand(user)
@@ -293,7 +306,7 @@
investigate_log("has consumed [key_name(user)].", "supermatter")
user.dust()
power += 200
else if(isobj(AM) && !istype(AM, /obj/effect))
else if(isobj(AM) && (!istype(AM, /obj/effect) || istype(AM, /obj/effect/blob)))
investigate_log("has consumed [AM].", "supermatter")
qdel(AM)
@@ -69,7 +69,7 @@
if(severity < 3)
..()
/obj/machinery/chem_dispenser/blob_act()
/obj/machinery/chem_dispenser/blob_act(obj/effect/blob/B)
if(prob(50))
qdel(src)
@@ -21,7 +21,7 @@
if(severity < 3)
..()
/obj/machinery/chem_master/blob_act()
/obj/machinery/chem_master/blob_act(obj/effect/blob/B)
if (prob(50))
qdel(src)
@@ -416,7 +416,7 @@
if(isliving(cause))
B.visible_message("<span class='warning'><b>The blob retaliates, lashing out!</b></span>")
for(var/atom/A in range(1, B))
A.blob_act()
A.blob_act(B)
return ..()
//does low burn damage and stamina damage and cools targets down
+4 -4
View File
@@ -23,7 +23,7 @@
else
return
/obj/structure/reagent_dispensers/blob_act()
/obj/structure/reagent_dispensers/blob_act(obj/effect/blob/B)
if(prob(50))
qdel(src)
@@ -70,7 +70,7 @@
else
return
/obj/structure/reagent_dispensers/watertank/blob_act()
/obj/structure/reagent_dispensers/watertank/blob_act(obj/effect/blob/B)
if(prob(50))
PoolOrNew(/obj/effect/particle_effect/water, loc)
qdel(src)
@@ -98,7 +98,7 @@
if(src)
qdel(src)
/obj/structure/reagent_dispensers/fueltank/blob_act()
/obj/structure/reagent_dispensers/fueltank/blob_act(obj/effect/blob/B)
boom()
@@ -169,7 +169,7 @@
..()
reagents.add_reagent("beer",1000)
/obj/structure/reagent_dispensers/beerkeg/blob_act()
/obj/structure/reagent_dispensers/beerkeg/blob_act(obj/effect/blob/B)
explosion(src.loc,0,3,5,7,10)
+1 -1
View File
@@ -54,7 +54,7 @@ using metal and glass, it uses glass and reagents (usually sulfuric acis).
T += M.rating
efficiency_coeff = 2 ** (T - 1) //Only 1 manipulator here, you're making runtimes Razharas
/obj/machinery/r_n_d/circuit_imprinter/blob_act()
/obj/machinery/r_n_d/circuit_imprinter/blob_act(obj/effect/blob/B)
if (prob(50))
qdel(src)
+1 -1
View File
@@ -86,7 +86,7 @@
..()
/obj/machinery/r_n_d/server/blob_act()
/obj/machinery/r_n_d/server/blob_act(obj/effect/blob/B)
griefProtection()
..()