mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 18:32:03 +00:00
Merge pull request #5376 from clusterfack/INTOTHETRASHITGOES
Removes more manual del() calls
This commit is contained in:
@@ -59,7 +59,7 @@
|
|||||||
if(target.wear_mask || target.l_hand || target.r_hand || target.back || target.uniform || target.hat)
|
if(target.wear_mask || target.l_hand || target.r_hand || target.back || target.uniform || target.hat)
|
||||||
user << "<span class='warning'>The monkey may not have abiotic items on.</span>"
|
user << "<span class='warning'>The monkey may not have abiotic items on.</span>"
|
||||||
else
|
else
|
||||||
del(target)
|
qdel(target)
|
||||||
user << "<span class='notice'>You stuff the monkey in the machine.</span>"
|
user << "<span class='notice'>You stuff the monkey in the machine.</span>"
|
||||||
playsound(get_turf(src), 'sound/machines/juicer.ogg', 50, 1)
|
playsound(get_turf(src), 'sound/machines/juicer.ogg', 50, 1)
|
||||||
use_power(500)
|
use_power(500)
|
||||||
|
|||||||
@@ -883,76 +883,76 @@ steam.start() -- spawns the effect
|
|||||||
desc = "A lightweight foamed metal wall."
|
desc = "A lightweight foamed metal wall."
|
||||||
var/metal = 1 // 1=aluminum, 2=iron
|
var/metal = 1 // 1=aluminum, 2=iron
|
||||||
|
|
||||||
proc/updateicon()
|
/obj/structure/foamedmetal/proc/updateicon()
|
||||||
if(metal == 1)
|
if(metal == 1)
|
||||||
icon_state = "metalfoam"
|
icon_state = "metalfoam"
|
||||||
else
|
else
|
||||||
icon_state = "ironfoam"
|
icon_state = "ironfoam"
|
||||||
|
|
||||||
|
|
||||||
ex_act(severity)
|
/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)
|
qdel(src)
|
||||||
|
|
||||||
blob_act()
|
/obj/structure/foamedmetal/attack_paw(var/mob/user)
|
||||||
del(src)
|
attack_hand(user)
|
||||||
|
return
|
||||||
|
|
||||||
bullet_act()
|
/obj/structure/foamedmetal/attack_hand(var/mob/user)
|
||||||
if(metal==1 || prob(50))
|
user.delayNextAttack(10)
|
||||||
del(src)
|
if ((M_HULK in user.mutations) || (prob(75 - metal*25)))
|
||||||
|
user << "<span class='notice'>You smash through the metal foam wall.</span>"
|
||||||
|
for(var/mob/O in oviewers(user))
|
||||||
|
if ((O.client && !( O.blinded )))
|
||||||
|
O << "<span class='warning'>[user] smashes through the foamed metal.</span>"
|
||||||
|
qdel(src)
|
||||||
|
else
|
||||||
|
user << "<span class='notice'>You hit the metal foam but bounce off it.</span>"
|
||||||
|
return
|
||||||
|
|
||||||
attack_paw(var/mob/user)
|
|
||||||
attack_hand(user)
|
/obj/structure/foamedmetal/attackby(var/obj/item/I, var/mob/user)
|
||||||
|
user.delayNextAttack(10)
|
||||||
|
if (istype(I, /obj/item/weapon/grab))
|
||||||
|
var/obj/item/weapon/grab/G = I
|
||||||
|
G.affecting.loc = src.loc
|
||||||
|
for(var/mob/O in viewers(src))
|
||||||
|
if (O.client)
|
||||||
|
O << "<span class='warning'>[G.assailant] smashes [G.affecting] through the foamed metal wall.</span>"
|
||||||
|
returnToPool(I)
|
||||||
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
attack_hand(var/mob/user)
|
if(prob(I.force*20 - metal*25))
|
||||||
user.delayNextAttack(10)
|
user << "<span class='notice'>You smash through the foamed metal with \the [I].</span>"
|
||||||
if ((M_HULK in user.mutations) || (prob(75 - metal*25)))
|
for(var/mob/O in oviewers(user))
|
||||||
user << "<span class='notice'>You smash through the metal foam wall.</span>"
|
if ((O.client && !( O.blinded )))
|
||||||
for(var/mob/O in oviewers(user))
|
O << "<span class='warning'>[user] smashes through the foamed metal.</span>"
|
||||||
if ((O.client && !( O.blinded )))
|
qdel(src)
|
||||||
O << "<span class='warning'>[user] smashes through the foamed metal.</span>"
|
else
|
||||||
del(src)
|
user << "<span class='notice'>You hit the metal foam to no effect.</span>"
|
||||||
else
|
|
||||||
user << "<span class='notice'>You hit the metal foam but bounce off it.</span>"
|
/obj/structure/foamedmetal/CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
|
||||||
return
|
if(air_group) return 0
|
||||||
|
return !density
|
||||||
|
|
||||||
|
|
||||||
attackby(var/obj/item/I, var/mob/user)
|
/obj/structure/foamedmetal/proc/update_nearby_tiles()
|
||||||
user.delayNextAttack(10)
|
if (isnull(air_master))
|
||||||
if (istype(I, /obj/item/weapon/grab))
|
return 0
|
||||||
var/obj/item/weapon/grab/G = I
|
|
||||||
G.affecting.loc = src.loc
|
|
||||||
for(var/mob/O in viewers(src))
|
|
||||||
if (O.client)
|
|
||||||
O << "<span class='warning'>[G.assailant] smashes [G.affecting] through the foamed metal wall.</span>"
|
|
||||||
returnToPool(I)
|
|
||||||
qdel(src)
|
|
||||||
return
|
|
||||||
|
|
||||||
if(prob(I.force*20 - metal*25))
|
var/T = loc
|
||||||
user << "<span class='notice'>You smash through the foamed metal with \the [I].</span>"
|
|
||||||
for(var/mob/O in oviewers(user))
|
|
||||||
if ((O.client && !( O.blinded )))
|
|
||||||
O << "<span class='warning'>[user] smashes through the foamed metal.</span>"
|
|
||||||
qdel(src)
|
|
||||||
else
|
|
||||||
user << "<span class='notice'>You hit the metal foam to no effect.</span>"
|
|
||||||
|
|
||||||
CanPass(atom/movable/mover, turf/target, height=1.5, air_group = 0)
|
if (isturf(T))
|
||||||
if(air_group) return 0
|
air_master.mark_for_update(T)
|
||||||
return !density
|
|
||||||
|
|
||||||
|
return 1
|
||||||
proc/update_nearby_tiles()
|
|
||||||
if (isnull(air_master))
|
|
||||||
return 0
|
|
||||||
|
|
||||||
var/T = loc
|
|
||||||
|
|
||||||
if (isturf(T))
|
|
||||||
air_master.mark_for_update(T)
|
|
||||||
|
|
||||||
return 1
|
|
||||||
|
|
||||||
/obj/structure/foamedmetal/New()
|
/obj/structure/foamedmetal/New()
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -19,18 +19,19 @@
|
|||||||
//SN src = null
|
//SN src = null
|
||||||
qdel(src)
|
qdel(src)
|
||||||
if (istype(W, /obj/item/stack/rods))
|
if (istype(W, /obj/item/stack/rods))
|
||||||
if (W:amount >= 4)
|
var/obj/item/stack/rods/rods = W
|
||||||
|
if (rods.amount >= 4)
|
||||||
new /obj/item/weapon/table_parts/reinforced( user.loc )
|
new /obj/item/weapon/table_parts/reinforced( user.loc )
|
||||||
user << "<span class='notice'>You reinforce the [name].</span>"
|
user << "<span class='notice'>You reinforce the [name].</span>"
|
||||||
W:use(4)
|
rods.use(4)
|
||||||
del(src)
|
qdel(src)
|
||||||
else if (W:amount < 4)
|
else if (rods.amount < 4)
|
||||||
user << "<span class='warning'>You need at least four rods to do this.</span>"
|
user << "<span class='warning'>You need at least four rods to do this.</span>"
|
||||||
|
|
||||||
/obj/item/weapon/table_parts/attack_self(mob/user as mob)
|
/obj/item/weapon/table_parts/attack_self(mob/user as mob)
|
||||||
new /obj/structure/table( user.loc )
|
new /obj/structure/table( user.loc )
|
||||||
user.drop_item(src)
|
user.drop_item(src)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ obj/structure
|
|||||||
|
|
||||||
obj/structure/blob_act()
|
obj/structure/blob_act()
|
||||||
if(prob(50))
|
if(prob(50))
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
obj/structure/ex_act(severity)
|
obj/structure/ex_act(severity)
|
||||||
switch(severity)
|
switch(severity)
|
||||||
|
|||||||
@@ -205,7 +205,7 @@
|
|||||||
/obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up
|
/obj/machinery/shower/update_icon() //this is terribly unreadable, but basically it makes the shower mist up
|
||||||
overlays.len = 0 //once it's been on for a while, in addition to handling the water overlay.
|
overlays.len = 0 //once it's been on for a while, in addition to handling the water overlay.
|
||||||
if(mymist)
|
if(mymist)
|
||||||
del(mymist)
|
returnToPool(mymist)
|
||||||
|
|
||||||
if(on)
|
if(on)
|
||||||
overlays += image('icons/obj/watercloset.dmi', src, "water", MOB_LAYER + 1, dir)
|
overlays += image('icons/obj/watercloset.dmi', src, "water", MOB_LAYER + 1, dir)
|
||||||
@@ -215,16 +215,16 @@
|
|||||||
spawn(50)
|
spawn(50)
|
||||||
if(src && on)
|
if(src && on)
|
||||||
ismist = 1
|
ismist = 1
|
||||||
mymist = new /obj/effect/mist(loc)
|
mymist = getFromPool(/obj/effect/mist,loc)
|
||||||
else
|
else
|
||||||
ismist = 1
|
ismist = 1
|
||||||
mymist = new /obj/effect/mist(loc)
|
mymist = getFromPool(/obj/effect/mist,loc)
|
||||||
else if(ismist)
|
else if(ismist)
|
||||||
ismist = 1
|
ismist = 1
|
||||||
mymist = new /obj/effect/mist(loc)
|
mymist = getFromPool(/obj/effect/mist,loc)
|
||||||
spawn(250)
|
spawn(250)
|
||||||
if(src && !on)
|
if(src && !on)
|
||||||
del(mymist)
|
returnToPool(mymist)
|
||||||
ismist = 0
|
ismist = 0
|
||||||
|
|
||||||
/obj/machinery/shower/Crossed(atom/movable/O)
|
/obj/machinery/shower/Crossed(atom/movable/O)
|
||||||
|
|||||||
@@ -284,96 +284,98 @@ proc/check_panel(mob/M)
|
|||||||
|
|
||||||
var/health = 100
|
var/health = 100
|
||||||
|
|
||||||
attackby(var/obj/item/weapon/P as obj, mob/user as mob)
|
/obj/effect/fake_attacker/attackby(var/obj/item/weapon/P as obj, mob/user as mob)
|
||||||
|
step_away(src,my_target,2)
|
||||||
|
for(var/mob/M in oviewers(world.view,my_target))
|
||||||
|
M << "<span class='danger'>[my_target] flails around wildly.</span>"
|
||||||
|
my_target.show_message("<span class='danger'>[src] has been attacked by [my_target] </span>", 1) //Lazy.
|
||||||
|
|
||||||
|
src.health -= P.force
|
||||||
|
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
/obj/effect/fake_attacker/Crossed(var/mob/M, somenumber)
|
||||||
|
if(M == my_target)
|
||||||
step_away(src,my_target,2)
|
step_away(src,my_target,2)
|
||||||
for(var/mob/M in oviewers(world.view,my_target))
|
if(prob(30))
|
||||||
M << "<span class='danger'>[my_target] flails around wildly.</span>"
|
for(var/mob/O in oviewers(world.view , my_target))
|
||||||
my_target.show_message("<span class='danger'>[src] has been attacked by [my_target] </span>", 1) //Lazy.
|
O << "<span class='danger'>[my_target] stumbles around.</span>"
|
||||||
|
|
||||||
src.health -= P.force
|
/obj/effect/fake_attacker/New()
|
||||||
|
..()
|
||||||
|
step_away(src,my_target,2)
|
||||||
|
attack_loop()
|
||||||
|
if(my_target)
|
||||||
|
my_target.hallucinations -= src
|
||||||
|
returnToPool(src)
|
||||||
|
|
||||||
|
|
||||||
return
|
/obj/effect/fake_attacker/proc/updateimage()
|
||||||
|
// del src.currentimage
|
||||||
Crossed(var/mob/M, somenumber)
|
|
||||||
if(M == my_target)
|
|
||||||
step_away(src,my_target,2)
|
|
||||||
if(prob(30))
|
|
||||||
for(var/mob/O in oviewers(world.view , my_target))
|
|
||||||
O << "<span class='danger'>[my_target] stumbles around.</span>"
|
|
||||||
|
|
||||||
New()
|
|
||||||
..()
|
|
||||||
spawn(300)
|
|
||||||
if(my_target)
|
|
||||||
my_target.hallucinations -= src
|
|
||||||
del(src)
|
|
||||||
step_away(src,my_target,2)
|
|
||||||
spawn attack_loop()
|
|
||||||
|
|
||||||
|
|
||||||
proc/updateimage()
|
if(src.dir == NORTH)
|
||||||
// del src.currentimage
|
del src.currentimage
|
||||||
|
src.currentimage = new /image(up,src)
|
||||||
|
else if(src.dir == SOUTH)
|
||||||
|
del src.currentimage
|
||||||
|
src.currentimage = new /image(down,src)
|
||||||
|
else if(src.dir == EAST)
|
||||||
|
del src.currentimage
|
||||||
|
src.currentimage = new /image(right,src)
|
||||||
|
else if(src.dir == WEST)
|
||||||
|
del src.currentimage
|
||||||
|
src.currentimage = new /image(left,src)
|
||||||
|
my_target << currentimage
|
||||||
|
|
||||||
|
|
||||||
if(src.dir == NORTH)
|
/obj/effect/fake_attacker/proc/attack_loop()
|
||||||
del src.currentimage
|
var/time = 0
|
||||||
src.currentimage = new /image(up,src)
|
while(time < 300)
|
||||||
else if(src.dir == SOUTH)
|
var/timespent = rand(5,10)
|
||||||
del src.currentimage
|
time += timespent
|
||||||
src.currentimage = new /image(down,src)
|
sleep(timespent)
|
||||||
else if(src.dir == EAST)
|
if(src.health < 0)
|
||||||
del src.currentimage
|
collapse = 1
|
||||||
src.currentimage = new /image(right,src)
|
updateimage()
|
||||||
else if(src.dir == WEST)
|
continue
|
||||||
del src.currentimage
|
if(get_dist(src,my_target) > 1)
|
||||||
src.currentimage = new /image(left,src)
|
src.dir = get_dir(src,my_target)
|
||||||
my_target << currentimage
|
step_towards(src,my_target)
|
||||||
|
updateimage()
|
||||||
|
else
|
||||||
proc/attack_loop()
|
|
||||||
while(1)
|
|
||||||
sleep(rand(5,10))
|
|
||||||
if(src.health < 0)
|
|
||||||
collapse()
|
|
||||||
continue
|
|
||||||
if(get_dist(src,my_target) > 1)
|
|
||||||
src.dir = get_dir(src,my_target)
|
|
||||||
step_towards(src,my_target)
|
|
||||||
updateimage()
|
|
||||||
else
|
|
||||||
if(prob(15))
|
|
||||||
if(weapon_name)
|
|
||||||
my_target << sound(pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg'))
|
|
||||||
my_target.show_message("<span class='danger'>[my_target] has been attacked with [weapon_name] by [src.name] </span>", 1)
|
|
||||||
my_target.halloss += 8
|
|
||||||
if(prob(20)) my_target.eye_blurry += 3
|
|
||||||
if(prob(33))
|
|
||||||
if(!locate(/obj/effect/overlay) in my_target.loc)
|
|
||||||
fake_blood(my_target)
|
|
||||||
else
|
|
||||||
my_target << sound(pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'))
|
|
||||||
my_target.show_message("<span class='danger'>[src.name] has punched [my_target]!</span>", 1)
|
|
||||||
my_target.halloss += 4
|
|
||||||
if(prob(33))
|
|
||||||
if(!locate(/obj/effect/overlay) in my_target.loc)
|
|
||||||
fake_blood(my_target)
|
|
||||||
|
|
||||||
if(prob(15))
|
if(prob(15))
|
||||||
step_away(src,my_target,2)
|
if(weapon_name)
|
||||||
|
my_target << sound(pick('sound/weapons/genhit1.ogg', 'sound/weapons/genhit2.ogg', 'sound/weapons/genhit3.ogg'))
|
||||||
proc/collapse()
|
my_target.show_message("<span class='danger'>[my_target] has been attacked with [weapon_name] by [src.name] </span>", 1)
|
||||||
collapse = 1
|
my_target.halloss += 8
|
||||||
updateimage()
|
if(prob(20)) my_target.eye_blurry += 3
|
||||||
|
if(prob(33))
|
||||||
|
if(!locate(/obj/effect/overlay) in my_target.loc)
|
||||||
|
fake_blood(my_target)
|
||||||
|
else
|
||||||
|
my_target << sound(pick('sound/weapons/punch1.ogg','sound/weapons/punch2.ogg','sound/weapons/punch3.ogg','sound/weapons/punch4.ogg'))
|
||||||
|
my_target.show_message("<span class='danger'>[src.name] has punched [my_target]!</span>", 1)
|
||||||
|
my_target.halloss += 4
|
||||||
|
if(prob(33))
|
||||||
|
if(!locate(/obj/effect/overlay) in my_target.loc)
|
||||||
|
fake_blood(my_target)
|
||||||
|
|
||||||
|
if(prob(15))
|
||||||
|
step_away(src,my_target,2)
|
||||||
|
/*
|
||||||
|
/obj/effect/fake_attacker/proc/collapse()
|
||||||
|
collapse = 1
|
||||||
|
updateimage()
|
||||||
|
*/
|
||||||
/proc/fake_blood(var/mob/target)
|
/proc/fake_blood(var/mob/target)
|
||||||
var/obj/effect/overlay/O = new/obj/effect/overlay(target.loc)
|
var/obj/effect/overlay/O = getFromPool(/obj/effect/overlay,target.loc)
|
||||||
O.name = "blood"
|
O.name = "blood"
|
||||||
var/image/I = image('icons/effects/blood.dmi',O,"floor[rand(1,7)]",O.dir,1)
|
var/image/I = image('icons/effects/blood.dmi',O,"floor[rand(1,7)]",O.dir,1)
|
||||||
target << I
|
target << I
|
||||||
spawn(300)
|
sleep(300)
|
||||||
del(O)
|
returnToPool(O)
|
||||||
return
|
|
||||||
|
|
||||||
var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_storage/box/a357,\
|
var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_storage/box/a357,\
|
||||||
/obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword,\
|
/obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword,\
|
||||||
@@ -407,7 +409,7 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite
|
|||||||
if(!clone) return
|
if(!clone) return
|
||||||
|
|
||||||
//var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(outside_range(target))
|
//var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(outside_range(target))
|
||||||
var/obj/effect/fake_attacker/F = new/obj/effect/fake_attacker(target.loc)
|
var/obj/effect/fake_attacker/F = getFromPool(/obj/effect/fake_attacker,target.loc)
|
||||||
if(clone.l_hand)
|
if(clone.l_hand)
|
||||||
if(!(locate(clone.l_hand) in non_fakeattack_weapons))
|
if(!(locate(clone.l_hand) in non_fakeattack_weapons))
|
||||||
clone_weapon = clone.l_hand.name
|
clone_weapon = clone.l_hand.name
|
||||||
@@ -432,9 +434,6 @@ var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/ite
|
|||||||
// F.currentimage = new /image(clone)
|
// F.currentimage = new /image(clone)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
F.left = new /icon(clone.stand_icon,dir=WEST)
|
F.left = new /icon(clone.stand_icon,dir=WEST)
|
||||||
for(var/icon/i in clone.overlays)
|
for(var/icon/i in clone.overlays)
|
||||||
F.left.Blend(i)
|
F.left.Blend(i)
|
||||||
|
|||||||
@@ -271,14 +271,14 @@
|
|||||||
if(artifact_find)
|
if(artifact_find)
|
||||||
if( excavation_level > 0 || prob(15) )
|
if( excavation_level > 0 || prob(15) )
|
||||||
|
|
||||||
B = new(src)
|
B = getFromPool(/obj/structure/boulder, src)
|
||||||
if(artifact_find)
|
if(artifact_find)
|
||||||
B.artifact_find = artifact_find
|
B.artifact_find = artifact_find
|
||||||
else
|
else
|
||||||
artifact_debris(1)
|
artifact_debris(1)
|
||||||
|
|
||||||
else if(prob(15))
|
else if(prob(15))
|
||||||
B = new(src)
|
B = getFromPool(/obj/structure/boulder, src)
|
||||||
|
|
||||||
if(B)
|
if(B)
|
||||||
GetDrilled(0)
|
GetDrilled(0)
|
||||||
|
|||||||
@@ -2,4 +2,4 @@
|
|||||||
..()
|
..()
|
||||||
spawn(0)
|
spawn(0)
|
||||||
if(src && !key) //we've transferred to another mob. This ghost should be deleted.
|
if(src && !key) //we've transferred to another mob. This ghost should be deleted.
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|||||||
@@ -102,6 +102,12 @@
|
|||||||
real_name = name
|
real_name = name
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
/mob/dead/observer/Destroy()
|
||||||
|
..()
|
||||||
|
following = null
|
||||||
|
ghostMulti = null
|
||||||
|
canclone = null
|
||||||
|
|
||||||
/mob/dead/observer/hasFullAccess()
|
/mob/dead/observer/hasFullAccess()
|
||||||
return isAdminGhost(src)
|
return isAdminGhost(src)
|
||||||
|
|
||||||
|
|||||||
@@ -29,6 +29,12 @@
|
|||||||
var/update_muts = 1 // Monkey gene must be set at start.
|
var/update_muts = 1 // Monkey gene must be set at start.
|
||||||
var/alien = 0 //Used for reagent metabolism.
|
var/alien = 0 //Used for reagent metabolism.
|
||||||
|
|
||||||
|
/mob/living/carbon/monkey/Destroy()
|
||||||
|
..()
|
||||||
|
uniform = null
|
||||||
|
hat = null
|
||||||
|
glasses = null
|
||||||
|
|
||||||
/mob/living/carbon/monkey/tajara
|
/mob/living/carbon/monkey/tajara
|
||||||
name = "farwa"
|
name = "farwa"
|
||||||
voice_name = "farwa"
|
voice_name = "farwa"
|
||||||
|
|||||||
@@ -50,7 +50,7 @@
|
|||||||
S2.icon_living = "[src.colour] baby slime"
|
S2.icon_living = "[src.colour] baby slime"
|
||||||
S2.icon_dead = "[src.colour] baby slime dead"
|
S2.icon_dead = "[src.colour] baby slime dead"
|
||||||
S2.colour = "[src.colour]"
|
S2.colour = "[src.colour]"
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
|
|
||||||
/mob/living/simple_animal/slime/proc/rabid()
|
/mob/living/simple_animal/slime/proc/rabid()
|
||||||
|
|||||||
@@ -29,6 +29,11 @@
|
|||||||
var/stat_exclusive = 0 //Mobs with this set to 1 will exclusively attack things defined by stat_attack, stat_attack 2 means they will only attack corpses
|
var/stat_exclusive = 0 //Mobs with this set to 1 will exclusively attack things defined by stat_attack, stat_attack 2 means they will only attack corpses
|
||||||
var/attack_faction = null //Put a faction string here to have a mob only ever attack a specific faction
|
var/attack_faction = null //Put a faction string here to have a mob only ever attack a specific faction
|
||||||
|
|
||||||
|
/mob/living/simple_animal/hostile/resetVariables()
|
||||||
|
..("wanted_objects", "friends")
|
||||||
|
wanted_objects = list()
|
||||||
|
friends = list()
|
||||||
|
|
||||||
/mob/living/simple_animal/hostile/Life()
|
/mob/living/simple_animal/hostile/Life()
|
||||||
. = ..()
|
. = ..()
|
||||||
if(istype(loc, /obj/item/device/mobcapsule))
|
if(istype(loc, /obj/item/device/mobcapsule))
|
||||||
|
|||||||
@@ -242,7 +242,7 @@
|
|||||||
pass_flags = PASSTABLE
|
pass_flags = PASSTABLE
|
||||||
|
|
||||||
/mob/living/simple_animal/hostile/asteroid/hivelord/OpenFire(var/the_target)
|
/mob/living/simple_animal/hostile/asteroid/hivelord/OpenFire(var/the_target)
|
||||||
var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/A = new /mob/living/simple_animal/hostile/asteroid/hivelordbrood(src.loc)
|
var/mob/living/simple_animal/hostile/asteroid/hivelordbrood/A = getFromPool(/mob/living/simple_animal/hostile/asteroid/hivelordbrood,src.loc)
|
||||||
A.GiveTarget(target)
|
A.GiveTarget(target)
|
||||||
A.friends = friends
|
A.friends = friends
|
||||||
A.faction = faction
|
A.faction = faction
|
||||||
@@ -263,9 +263,9 @@
|
|||||||
var/inert = 0
|
var/inert = 0
|
||||||
|
|
||||||
/obj/item/asteroid/hivelord_core/New()
|
/obj/item/asteroid/hivelord_core/New()
|
||||||
spawn(1200)
|
sleep(1200)
|
||||||
inert = 1
|
inert = 1
|
||||||
desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested."
|
desc = "The remains of a hivelord that have become useless, having been left alone too long after being harvested."
|
||||||
|
|
||||||
/obj/item/asteroid/hivelord_core/attack(mob/living/M as mob, mob/living/user as mob)
|
/obj/item/asteroid/hivelord_core/attack(mob/living/M as mob, mob/living/user as mob)
|
||||||
if(ishuman(M))
|
if(ishuman(M))
|
||||||
@@ -283,7 +283,7 @@
|
|||||||
user << "<span class='notice'>You chomp into [src], barely managing to hold it down, but feel amazingly refreshed in mere moments.</span>"
|
user << "<span class='notice'>You chomp into [src], barely managing to hold it down, but feel amazingly refreshed in mere moments.</span>"
|
||||||
playsound(src.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
|
playsound(src.loc,'sound/items/eatfood.ogg', rand(10,50), 1)
|
||||||
H.revive()
|
H.revive()
|
||||||
del(src)
|
qdel(src)
|
||||||
..()
|
..()
|
||||||
|
|
||||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood
|
/mob/living/simple_animal/hostile/asteroid/hivelordbrood
|
||||||
@@ -312,11 +312,11 @@
|
|||||||
|
|
||||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New()
|
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/New()
|
||||||
..()
|
..()
|
||||||
spawn(100)
|
sleep(100)
|
||||||
del(src)
|
returnToPool(src)
|
||||||
|
|
||||||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Die()
|
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/Die()
|
||||||
del(src)
|
returnToPool(src)
|
||||||
|
|
||||||
/mob/living/simple_animal/hostile/asteroid/goliath
|
/mob/living/simple_animal/hostile/asteroid/goliath
|
||||||
name = "goliath"
|
name = "goliath"
|
||||||
@@ -417,7 +417,7 @@
|
|||||||
if(current_armor.["melee"] < 90)
|
if(current_armor.["melee"] < 90)
|
||||||
current_armor.["melee"] = min(current_armor.["melee"] + 10, 90)
|
current_armor.["melee"] = min(current_armor.["melee"] + 10, 90)
|
||||||
user << "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>"
|
user << "<span class='info'>You strengthen [target], improving its resistance against melee attacks.</span>"
|
||||||
del(src)
|
qdel(src)
|
||||||
else
|
else
|
||||||
user << "<span class='info'>You can't improve [C] any further.</span>"
|
user << "<span class='info'>You can't improve [C] any further.</span>"
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -3,5 +3,5 @@
|
|||||||
..()
|
..()
|
||||||
if(!spawning)//Here so that if they are spawning and log out, the other procs can play out and they will have a mob to come back to.
|
if(!spawning)//Here so that if they are spawning and log out, the other procs can play out and they will have a mob to come back to.
|
||||||
key = null//We null their key before deleting the mob, so they are properly kicked out.
|
key = null//We null their key before deleting the mob, so they are properly kicked out.
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
@@ -41,7 +41,13 @@
|
|||||||
|
|
||||||
/obj/machinery/power/am_control_unit/Destroy()//Perhaps damage and run stability checks rather than just del on the others
|
/obj/machinery/power/am_control_unit/Destroy()//Perhaps damage and run stability checks rather than just del on the others
|
||||||
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
||||||
del(AMS)
|
AMS.control_unit = null
|
||||||
|
qdel(AMS)
|
||||||
|
for(var/obj/machinery/am_shielding/AMS in linked_cores)
|
||||||
|
AMS.control_unit = null
|
||||||
|
qdel(AMS)
|
||||||
|
qdel(fueljar)
|
||||||
|
fueljar = null
|
||||||
..()
|
..()
|
||||||
|
|
||||||
|
|
||||||
@@ -51,7 +57,7 @@
|
|||||||
exploded=1
|
exploded=1
|
||||||
explosion(get_turf(src),8,10,12,15)
|
explosion(get_turf(src),8,10,12,15)
|
||||||
if(src)
|
if(src)
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
if(update_shield_icons && !shield_icon_delay)
|
if(update_shield_icons && !shield_icon_delay)
|
||||||
check_shield_icons()
|
check_shield_icons()
|
||||||
@@ -115,9 +121,7 @@
|
|||||||
if(prob(100-stability))//Might infect the rest of the machine
|
if(prob(100-stability))//Might infect the rest of the machine
|
||||||
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
||||||
AMS.blob_act()
|
AMS.blob_act()
|
||||||
spawn(0)
|
qdel(src)
|
||||||
//Likely explode
|
|
||||||
del(src)
|
|
||||||
return
|
return
|
||||||
check_stability()
|
check_stability()
|
||||||
return
|
return
|
||||||
@@ -224,7 +228,7 @@
|
|||||||
|
|
||||||
/obj/machinery/power/am_control_unit/proc/check_stability()//TODO: make it break when low also might want to add a way to fix it like a part or such that can be replaced
|
/obj/machinery/power/am_control_unit/proc/check_stability()//TODO: make it break when low also might want to add a way to fix it like a part or such that can be replaced
|
||||||
if(stability <= 0)
|
if(stability <= 0)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -256,9 +260,8 @@
|
|||||||
else
|
else
|
||||||
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
for(var/obj/machinery/am_shielding/AMS in linked_shielding)
|
||||||
AMS.update_icon()
|
AMS.update_icon()
|
||||||
spawn(20)
|
sleep(20)
|
||||||
shield_icon_delay = 0
|
shield_icon_delay = 0
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/power/am_control_unit/proc/check_core_stability()
|
/obj/machinery/power/am_control_unit/proc/check_core_stability()
|
||||||
|
|||||||
@@ -33,20 +33,18 @@ proc/cardinalrange(var/center)
|
|||||||
..(loc)
|
..(loc)
|
||||||
machines -= src
|
machines -= src
|
||||||
power_machines += src
|
power_machines += src
|
||||||
spawn(10)
|
sleep(10)
|
||||||
controllerscan()
|
controllerscan()
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/am_shielding/proc/controllerscan(var/priorscan = 0)
|
/obj/machinery/am_shielding/proc/controllerscan(var/priorscan = 0)
|
||||||
//Make sure we are the only one here
|
//Make sure we are the only one here
|
||||||
if(!istype(src.loc, /turf))
|
if(!istype(src.loc, /turf))
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
for(var/obj/machinery/am_shielding/AMS in loc.contents)
|
for(var/obj/machinery/am_shielding/AMS in loc.contents)
|
||||||
if(AMS == src) continue
|
if(AMS == src) continue
|
||||||
spawn(0)
|
qdel(src)
|
||||||
del(src)
|
|
||||||
return
|
return
|
||||||
|
|
||||||
//Search for shielding first
|
//Search for shielding first
|
||||||
@@ -55,19 +53,14 @@ proc/cardinalrange(var/center)
|
|||||||
break
|
break
|
||||||
|
|
||||||
if(!control_unit)//No other guys nearby, look for a control unit
|
if(!control_unit)//No other guys nearby, look for a control unit
|
||||||
for(var/direction in cardinal)
|
|
||||||
for(var/obj/machinery/power/am_control_unit/AMC in cardinalrange(src))
|
for(var/obj/machinery/power/am_control_unit/AMC in cardinalrange(src))
|
||||||
if(AMC.add_shielding(src))
|
if(AMC.add_shielding(src))
|
||||||
break
|
break
|
||||||
|
|
||||||
if(!control_unit)
|
|
||||||
if(!priorscan)
|
if(!priorscan)
|
||||||
spawn(20)
|
sleep(20)
|
||||||
controllerscan(1)//Last chance
|
controllerscan(1)//Last chance
|
||||||
return
|
return
|
||||||
spawn(0)
|
qdel(src)
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/am_shielding/Destroy()
|
/obj/machinery/am_shielding/Destroy()
|
||||||
@@ -103,8 +96,7 @@ proc/cardinalrange(var/center)
|
|||||||
new /obj/effect/blob/node(src.loc,150)
|
new /obj/effect/blob/node(src.loc,150)
|
||||||
else
|
else
|
||||||
new /obj/effect/blob(src.loc,60)
|
new /obj/effect/blob(src.loc,60)
|
||||||
spawn(0)
|
qdel(src)
|
||||||
del(src)
|
|
||||||
return
|
return
|
||||||
check_stability()
|
check_stability()
|
||||||
return
|
return
|
||||||
@@ -200,7 +192,6 @@ proc/cardinalrange(var/center)
|
|||||||
if(!control_unit) return
|
if(!control_unit) return
|
||||||
control_unit.linked_cores.Add(src)
|
control_unit.linked_cores.Add(src)
|
||||||
control_unit.reported_core_efficiency += efficiency
|
control_unit.reported_core_efficiency += efficiency
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/am_shielding/proc/shutdown_core()
|
/obj/machinery/am_shielding/proc/shutdown_core()
|
||||||
@@ -208,17 +199,13 @@ proc/cardinalrange(var/center)
|
|||||||
if(!control_unit) return
|
if(!control_unit) return
|
||||||
control_unit.linked_cores.Remove(src)
|
control_unit.linked_cores.Remove(src)
|
||||||
control_unit.reported_core_efficiency -= efficiency
|
control_unit.reported_core_efficiency -= efficiency
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/am_shielding/proc/check_stability(var/injecting_fuel = 0)
|
/obj/machinery/am_shielding/proc/check_stability(var/injecting_fuel = 0)
|
||||||
if(stability > 0) return
|
if(stability > 0) return
|
||||||
if(injecting_fuel && control_unit)
|
if(injecting_fuel && control_unit)
|
||||||
control_unit.exploding = 1
|
control_unit.exploding = 1
|
||||||
if(src)
|
qdel(src)
|
||||||
del(src)
|
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
/obj/machinery/am_shielding/proc/recalc_efficiency(var/new_efficiency)//tbh still not 100% sure how I want to deal with efficiency so this is likely temp
|
/obj/machinery/am_shielding/proc/recalc_efficiency(var/new_efficiency)//tbh still not 100% sure how I want to deal with efficiency so this is likely temp
|
||||||
if(!control_unit || !processing) return
|
if(!control_unit || !processing) return
|
||||||
@@ -226,7 +213,6 @@ proc/cardinalrange(var/center)
|
|||||||
new_efficiency /= 2
|
new_efficiency /= 2
|
||||||
control_unit.reported_core_efficiency += (new_efficiency - efficiency)
|
control_unit.reported_core_efficiency += (new_efficiency - efficiency)
|
||||||
efficiency = new_efficiency
|
efficiency = new_efficiency
|
||||||
return
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -248,7 +234,6 @@ proc/cardinalrange(var/center)
|
|||||||
/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user)
|
/obj/item/device/am_shielding_container/attackby(var/obj/item/I, var/mob/user)
|
||||||
if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf))
|
if(istype(I, /obj/item/device/multitool) && istype(src.loc,/turf))
|
||||||
new/obj/machinery/am_shielding(src.loc)
|
new/obj/machinery/am_shielding(src.loc)
|
||||||
del(src)
|
qdel(src)
|
||||||
return
|
return
|
||||||
..()
|
..()
|
||||||
return
|
|
||||||
@@ -247,5 +247,5 @@ obj/item/projectile/kinetic/New()
|
|||||||
|
|
||||||
/obj/item/effect/kinetic_blast/New()
|
/obj/item/effect/kinetic_blast/New()
|
||||||
..()
|
..()
|
||||||
spawn(4)
|
sleep(4)
|
||||||
del(src)
|
returnToPool(src)
|
||||||
@@ -1437,68 +1437,68 @@
|
|||||||
//var/wrapped = 0
|
//var/wrapped = 0
|
||||||
var/monkey_type = /mob/living/carbon/monkey
|
var/monkey_type = /mob/living/carbon/monkey
|
||||||
|
|
||||||
New()
|
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/New()
|
||||||
..()
|
..()
|
||||||
reagents.add_reagent("nutriment",10)
|
reagents.add_reagent("nutriment",10)
|
||||||
|
|
||||||
afterattack(obj/O, mob/user,proximity)
|
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/afterattack(obj/O, mob/user,proximity)
|
||||||
if(!proximity) return
|
if(!proximity) return
|
||||||
if(istype(O,/obj/structure/sink) && !wrapped)
|
if(istype(O,/obj/structure/sink) && !wrapped)
|
||||||
user << "<span class='notice'>You place [src] under a stream of water...</span>"
|
user << "<span class='notice'>You place [src] under a stream of water...</span>"
|
||||||
return Expand()
|
return Expand()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
attack_self(mob/user)
|
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/attack_self(mob/user)
|
||||||
if(wrapped)
|
if(wrapped)
|
||||||
Unwrap(user)
|
Unwrap(user)
|
||||||
|
|
||||||
On_Consume(var/mob/M)
|
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/On_Consume(var/mob/M)
|
||||||
M << "<span class = 'warning'>Something inside of you suddently expands!</span>"
|
M << "<span class = 'warning'>Something inside of you suddently expands!</span>"
|
||||||
|
|
||||||
if (istype(M, /mob/living/carbon/human))
|
if (istype(M, /mob/living/carbon/human))
|
||||||
//Do not try to understand.
|
//Do not try to understand.
|
||||||
var/obj/item/weapon/surprise = new/obj/item/weapon(M)
|
var/obj/item/weapon/surprise = new/obj/item/weapon(M)
|
||||||
var/mob/living/carbon/monkey/ook = new monkey_type(null) //no other way to get access to the vars, alas
|
var/mob/living/carbon/monkey/ook = new monkey_type(null) //no other way to get access to the vars, alas
|
||||||
surprise.icon = ook.icon
|
surprise.icon = ook.icon
|
||||||
surprise.icon_state = ook.icon_state
|
surprise.icon_state = ook.icon_state
|
||||||
surprise.name = "malformed [ook.name]"
|
surprise.name = "malformed [ook.name]"
|
||||||
surprise.desc = "Looks like \a very deformed [ook.name], a little small for its kind. It shows no signs of life."
|
surprise.desc = "Looks like \a very deformed [ook.name], a little small for its kind. It shows no signs of life."
|
||||||
del(ook) //rip nullspace monkey
|
qdel(ook) //rip nullspace monkey
|
||||||
surprise.transform *= 0.6
|
surprise.transform *= 0.6
|
||||||
surprise.add_blood(M)
|
surprise.add_blood(M)
|
||||||
var/mob/living/carbon/human/H = M
|
var/mob/living/carbon/human/H = M
|
||||||
var/datum/organ/external/E = H.get_organ("chest")
|
var/datum/organ/external/E = H.get_organ("chest")
|
||||||
E.fracture()
|
E.fracture()
|
||||||
for (var/datum/organ/internal/I in E.internal_organs)
|
for (var/datum/organ/internal/I in E.internal_organs)
|
||||||
I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+1))
|
I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+1))
|
||||||
|
|
||||||
if (!E.hidden && prob(60)) //set it snuggly
|
if (!E.hidden && prob(60)) //set it snuggly
|
||||||
E.hidden = surprise
|
E.hidden = surprise
|
||||||
E.cavity = 0
|
E.cavity = 0
|
||||||
else //someone is having a bad day
|
else //someone is having a bad day
|
||||||
E.createwound(CUT, 30)
|
E.createwound(CUT, 30)
|
||||||
E.embed(surprise)
|
E.embed(surprise)
|
||||||
else if (ismonkey(M))
|
else if (ismonkey(M))
|
||||||
M.visible_message("<span class='danger'>[M] suddenly tears in half!</span>")
|
M.visible_message("<span class='danger'>[M] suddenly tears in half!</span>")
|
||||||
var/mob/living/carbon/monkey/ook = new monkey_type(M.loc)
|
var/mob/living/carbon/monkey/ook = new monkey_type(M.loc)
|
||||||
ook.name = "malformed [ook.name]"
|
ook.name = "malformed [ook.name]"
|
||||||
ook.transform *= 0.6
|
ook.transform *= 0.6
|
||||||
ook.add_blood(M)
|
ook.add_blood(M)
|
||||||
M.gib()
|
M.gib()
|
||||||
..()
|
..()
|
||||||
|
|
||||||
proc/Expand()
|
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Expand()
|
||||||
for(var/mob/M in viewers(src,7))
|
for(var/mob/M in viewers(src,7))
|
||||||
M << "<span class='warning'>\The [src] expands!</span>"
|
M << "<span class='warning'>\The [src] expands!</span>"
|
||||||
new monkey_type(get_turf(src))
|
new monkey_type(get_turf(src))
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
proc/Unwrap(mob/user as mob)
|
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Unwrap(mob/user as mob)
|
||||||
icon_state = "monkeycube"
|
icon_state = "monkeycube"
|
||||||
desc = "Just add water!"
|
desc = "Just add water!"
|
||||||
user << "You unwrap the cube."
|
user << "You unwrap the cube."
|
||||||
wrapped = 0
|
wrapped = 0
|
||||||
return
|
return
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped
|
/obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped
|
||||||
desc = "Still wrapped in some paper."
|
desc = "Still wrapped in some paper."
|
||||||
|
|||||||
@@ -40,6 +40,11 @@
|
|||||||
var/datum/geosample/geological_data
|
var/datum/geosample/geological_data
|
||||||
var/datum/artifact_find/artifact_find
|
var/datum/artifact_find/artifact_find
|
||||||
|
|
||||||
|
/obj/structure/boulder/Destroy()
|
||||||
|
..()
|
||||||
|
geological_data = null
|
||||||
|
artifact_find = null
|
||||||
|
|
||||||
/obj/structure/boulder/New()
|
/obj/structure/boulder/New()
|
||||||
..()
|
..()
|
||||||
icon_state = "boulder[rand(1,4)]"
|
icon_state = "boulder[rand(1,4)]"
|
||||||
@@ -84,7 +89,7 @@
|
|||||||
//failure
|
//failure
|
||||||
src.visible_message("<span class='danger'>\The [src] suddenly crumbles away.</span>")
|
src.visible_message("<span class='danger'>\The [src] suddenly crumbles away.</span>")
|
||||||
user << "<span class='rose'>\The [src] has disintegrated under your onslaught, any secrets it was holding are long gone.</span>"
|
user << "<span class='rose'>\The [src] has disintegrated under your onslaught, any secrets it was holding are long gone.</span>"
|
||||||
del(src)
|
returnToPool(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
if(prob(excavation_level))
|
if(prob(excavation_level))
|
||||||
@@ -99,7 +104,7 @@
|
|||||||
X.my_effect.artifact_id = artifact_find.artifact_id
|
X.my_effect.artifact_id = artifact_find.artifact_id
|
||||||
else
|
else
|
||||||
user << "<span class='notice'>[src] has been whittled away under your careful excavation, but there was nothing of interest inside.</span>"
|
user << "<span class='notice'>[src] has been whittled away under your careful excavation, but there was nothing of interest inside.</span>"
|
||||||
del(src)
|
returnToPool(src)
|
||||||
|
|
||||||
/obj/structure/boulder/Bumped(AM)
|
/obj/structure/boulder/Bumped(AM)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -42,6 +42,11 @@
|
|||||||
if(!inside)
|
if(!inside)
|
||||||
inside = locate() in contents
|
inside = locate() in contents
|
||||||
|
|
||||||
|
/obj/item/weapon/strangerock/Destroy()
|
||||||
|
..()
|
||||||
|
qdel(inside)
|
||||||
|
inside = null
|
||||||
|
|
||||||
/*/obj/item/weapon/strangerock/ex_act(var/severity)
|
/*/obj/item/weapon/strangerock/ex_act(var/severity)
|
||||||
if(severity && prob(30))
|
if(severity && prob(30))
|
||||||
src.visible_message("The [src] crumbles away, leaving some dust and gravel behind.")*/
|
src.visible_message("The [src] crumbles away, leaving some dust and gravel behind.")*/
|
||||||
@@ -58,7 +63,7 @@
|
|||||||
else
|
else
|
||||||
for(var/mob/M in viewers(world.view, user))
|
for(var/mob/M in viewers(world.view, user))
|
||||||
M.show_message("<span class='info'>[src] burns away into nothing.</span>",1)
|
M.show_message("<span class='info'>[src] burns away into nothing.</span>",1)
|
||||||
del(src)
|
qdel(src)
|
||||||
w.remove_fuel(4)
|
w.remove_fuel(4)
|
||||||
else
|
else
|
||||||
for(var/mob/M in viewers(world.view, user))
|
for(var/mob/M in viewers(world.view, user))
|
||||||
@@ -74,7 +79,7 @@
|
|||||||
..()
|
..()
|
||||||
if(prob(33))
|
if(prob(33))
|
||||||
src.visible_message("<span class='warning'>[src] crumbles away, leaving some dust and gravel behind.</span>")
|
src.visible_message("<span class='warning'>[src] crumbles away, leaving some dust and gravel behind.</span>")
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
// Archaeological finds
|
// Archaeological finds
|
||||||
@@ -547,7 +552,7 @@
|
|||||||
var/turf/T = get_turf(src)
|
var/turf/T = get_turf(src)
|
||||||
if(istype(T, /turf/unsimulated/mineral))
|
if(istype(T, /turf/unsimulated/mineral))
|
||||||
T:last_find = new_item
|
T:last_find = new_item
|
||||||
del(src)
|
qdel(src)
|
||||||
|
|
||||||
else if(talkative)
|
else if(talkative)
|
||||||
listening_to_players = 1
|
listening_to_players = 1
|
||||||
|
|||||||
Reference in New Issue
Block a user