Updates blob

Remains of player blob axed.
blob_act() axed. Blob now has an arbitary set of things it can attack.
It will flow over everything else. Blob has an awful tendency to destroy
non-craftables.
Will test more tomorrow.
Blob will now attack mechs.
Fixes #8106.
Fixes #10705.
This commit is contained in:
Kelenius
2015-10-05 18:10:16 +03:00
parent 8ce01aa648
commit 83adba88d4
77 changed files with 210 additions and 1456 deletions
-5
View File
@@ -77,11 +77,6 @@
healthcheck()
return
/obj/effect/alien/resin/blob_act()
health-=50
healthcheck()
return
/obj/effect/alien/resin/hitby(AM as mob|obj)
..()
for(var/mob/O in viewers(src, null))
-3
View File
@@ -150,9 +150,6 @@
/obj/structure/foamedmetal/ex_act(severity)
qdel(src)
/obj/structure/foamedmetal/blob_act()
qdel(src)
/obj/structure/foamedmetal/bullet_act()
if(metal == 1 || prob(50))
qdel(src)
-3
View File
@@ -108,9 +108,6 @@
else
return
/obj/item/blob_act()
return
//user: The mob that is suiciding
//damagetype: The type of damage the item will inflict on the user
//BRUTELOSS = 1
@@ -63,17 +63,6 @@
descriptive = "cold"
user << "<span class='notice'>\The [src] feels [descriptive].</span>"
/obj/item/weapon/tank/blob_act()
if(prob(50))
var/turf/location = src.loc
if (!( istype(location, /turf) ))
qdel(src)
if(src.air_contents)
location.assume_air(air_contents)
qdel(src)
/obj/item/weapon/tank/attackby(obj/item/weapon/W as obj, mob/user as mob)
..()
if (istype(src.loc, /obj/item/assembly))
@@ -213,10 +213,6 @@
health = 0
healthcheck()
/obj/effect/energy_net/blob_act()
health = 0
healthcheck()
/obj/effect/energy_net/attack_hand(var/mob/user)
var/mob/living/carbon/human/H = user
-4
View File
@@ -28,10 +28,6 @@
return ..()
/obj/structure/blob_act()
if(prob(50))
qdel(src)
/obj/structure/attack_tk()
return
@@ -196,13 +196,6 @@
return
// this should probably use dump_contents()
/obj/structure/closet/blob_act()
if(prob(75))
for(var/atom/movable/A as mob|obj in src)
A.forceMove(src.loc)
qdel(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))
@@ -96,10 +96,6 @@
for(var/mob/M in src)
shatter(M)
/obj/structure/closet/statue/blob_act()
for(var/mob/M in src)
shatter(M)
/obj/structure/closet/statue/ex_act(severity)
for(var/mob/M in src)
M.ex_act(severity)
@@ -34,15 +34,6 @@
src.healthcheck()
return
/obj/structure/displaycase/blob_act()
if (prob(75))
new /obj/item/weapon/material/shard( src.loc )
if (occupied)
new /obj/item/weapon/gun/energy/captain( src.loc )
occupied = 0
qdel(src)
/obj/structure/displaycase/proc/healthcheck()
if (src.health <= 0)
if (!( src.destroyed ))
-4
View File
@@ -202,10 +202,6 @@
return
return ..()
/obj/structure/girder/blob_act()
if(prob(40))
qdel(src)
/obj/structure/girder/ex_act(severity)
switch(severity)
-3
View File
@@ -16,9 +16,6 @@
/obj/structure/grille/ex_act(severity)
qdel(src)
/obj/structure/grille/blob_act()
qdel(src)
/obj/structure/grille/update_icon()
if(destroyed)
icon_state = "[initial(icon_state)]-b"
@@ -60,9 +60,6 @@
deflate(1)
return
/obj/structure/inflatable/blob_act()
deflate(1)
/obj/structure/inflatable/attack_hand(mob/user as mob)
add_fingerprint(user)
return
@@ -32,13 +32,6 @@
src.healthcheck()
return
/obj/structure/lamarr/blob_act()
if (prob(75))
new /obj/item/weapon/material/shard( src.loc )
Break()
qdel(src)
/obj/structure/lamarr/proc/healthcheck()
if (src.health <= 0)
if (!( src.destroyed ))
-4
View File
@@ -34,10 +34,6 @@
L.updateOverlays(src.loc)
..()
/obj/structure/lattice/blob_act()
qdel(src)
return
/obj/structure/lattice/ex_act(severity)
switch(severity)
if(1.0)
-4
View File
@@ -160,10 +160,6 @@ FLOOR SAFES
return
obj/structure/safe/blob_act()
return
obj/structure/safe/ex_act(severity)
return
-4
View File
@@ -19,10 +19,6 @@
else
return
/obj/structure/sign/blob_act()
qdel(src)
return
/obj/structure/sign/attackby(obj/item/tool as obj, mob/user as mob) //deconstruction
if(istype(tool, /obj/item/weapon/screwdriver) && !istype(src, /obj/structure/sign/double))
user << "You unfasten the sign with your [tool]."
@@ -86,11 +86,6 @@
qdel(src)
return
/obj/structure/bed/blob_act()
if(prob(75))
material.place_sheet(get_turf(src))
qdel(src)
/obj/structure/bed/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype(W, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
@@ -95,11 +95,6 @@ var/global/list/stool_cache = list() //haha stool
qdel(src)
return
/obj/item/weapon/stool/blob_act()
if(prob(75))
material.place_sheet(get_turf(src))
qdel(src)
/obj/item/weapon/stool/proc/dismantle()
if(material)
material.place_sheet(get_turf(src))
-4
View File
@@ -122,10 +122,6 @@
shatter(0)
return
/obj/structure/window/blob_act()
shatter()
//TODO: Make full windows a separate type of window.
//Once a full window, it will always be a full window, so there's no point
//having the same type for both.