Merge branch 'dev' into ofBotsAndMobs

Conflicts:
	code/game/machinery/bots/cleanbot.dm
	code/game/machinery/bots/ed209bot.dm
	code/game/machinery/bots/farmbot.dm
	code/game/machinery/bots/floorbot.dm
	code/game/machinery/bots/medbot.dm
	code/game/machinery/bots/secbot.dm
	code/game/objects/items/robot/robot_parts.dm
This commit is contained in:
Kelenius
2015-04-26 17:18:20 +03:00
697 changed files with 14108 additions and 11287 deletions

View File

@@ -177,7 +177,7 @@ datum
BR.reaction(target, INGEST)
spawn(5)
BR.trans_to(target, BR.total_volume)
del(B)
qdel(B)
return amount
@@ -405,7 +405,7 @@ datum
var/datum/reagent/R = A
if (R.id == reagent)
reagent_list -= A
del(A)
qdel(A)
update_total()
my_atom.on_reagent_change()
return 0
@@ -649,6 +649,15 @@ datum
return trans_data
datum/reagents/Destroy()
..()
for(var/datum/reagent/R in reagent_list)
qdel(R)
reagent_list.Cut()
reagent_list = null
if(my_atom && my_atom.reagents == src)
my_atom.reagents = null
///////////////////////////////////////////////////////////////////////////////////

View File

@@ -37,19 +37,19 @@
/obj/machinery/chem_master/ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
if (prob(50))
del(src)
qdel(src)
return
/obj/machinery/chem_master/blob_act()
if (prob(50))
del(src)
qdel(src)
/obj/machinery/chem_master/meteorhit()
del(src)
qdel(src)
return
/obj/machinery/chem_master/attackby(var/obj/item/weapon/B as obj, var/mob/user as mob)
@@ -751,7 +751,7 @@
/obj/machinery/reagentgrinder/proc/remove_object(var/obj/item/O)
holdingitems -= O
del(O)
qdel(O)
/obj/machinery/reagentgrinder/proc/grind()

View File

@@ -162,7 +162,7 @@ datum
/* Must check the transfering of reagents and their data first. They all can point to one disease datum.
Del()
Destroy()
if(src.data["virus"])
var/datum/disease/D = src.data["virus"]
D.cure(0)
@@ -246,7 +246,7 @@ datum
//Put out fires.
var/hotspot = (locate(/obj/fire) in T)
if(hotspot)
del(hotspot)
qdel(hotspot)
if(environment)
environment.react() //react at the new temperature
@@ -258,7 +258,7 @@ datum
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
lowertemp.react()
T.assume_air(lowertemp)
del(hotspot)
qdel(hotspot)
if(istype(O,/obj/item/weapon/reagent_containers/food/snacks/monkeycube))
var/obj/item/weapon/reagent_containers/food/snacks/monkeycube/cube = O
if(!cube.wrapped)
@@ -372,7 +372,7 @@ datum
M.invisibility = 101
for(var/obj/item/W in M)
if(istype(W, /obj/item/weapon/implant)) //TODO: Carn. give implants a dropped() or something
del(W)
qdel(W)
continue
W.layer = initial(W.layer)
W.loc = M.loc
@@ -384,7 +384,7 @@ datum
M.mind.transfer_to(new_mob)
else
new_mob.key = M.key
del(M)
qdel(M)
..()
return
@@ -940,7 +940,7 @@ datum
reaction_obj(var/obj/O, var/volume)
if(istype(O,/obj/effect/decal/cleanable))
del(O)
qdel(O)
else
if(O)
O.clean_blood()
@@ -953,7 +953,7 @@ datum
T.clean_blood()
for(var/obj/effect/decal/cleanable/C in T.contents)
src.reaction_obj(C, volume)
del(C)
qdel(C)
for(var/mob/living/carbon/slime/M in T)
M.adjustToxLoss(rand(5,10))
@@ -1790,7 +1790,7 @@ datum
..()
return
Del()
Destroy()
if(holder && ismob(holder.my_atom))
var/mob/M = holder.my_atom
M.status_flags &= ~FAKEDEATH
@@ -1847,7 +1847,7 @@ datum
var/turf/simulated/wall/W = T
if(W.rotting)
W.rotting = 0
for(var/obj/effect/E in W) if(E.name == "Wallrot") del E
for(var/obj/effect/E in W) if(E.name == "Wallrot") qdel(E)
for(var/mob/O in viewers(W, null))
O.show_message(text("\blue The fungi are completely dissolved by the solution!"), 1)
@@ -2036,7 +2036,7 @@ datum
if(H.head)
if(prob(meltprob) && !H.head.unacidable)
H << "<span class='danger'>Your headgear melts away but protects you from the acid!</span>"
del(H.head)
qdel(H.head)
H.update_inv_head(0)
H.update_hair(0)
else
@@ -2046,7 +2046,7 @@ datum
if(H.wear_mask)
if(prob(meltprob) && !H.wear_mask.unacidable)
H << "<span class='danger'>Your mask melts away but protects you from the acid!</span>"
del (H.wear_mask)
qdel (H.wear_mask)
H.update_inv_wear_mask(0)
H.update_hair(0)
else
@@ -2056,7 +2056,7 @@ datum
if(H.glasses) //Doesn't protect you from the acid but can melt anyways!
if(prob(meltprob) && !H.glasses.unacidable)
H << "<span class='danger'>Your glasses melts away!</span>"
del (H.glasses)
qdel (H.glasses)
H.update_inv_glasses(0)
if(!M.unacidable)
@@ -2083,7 +2083,7 @@ datum
I.desc = "Looks like this was \an [O] some time ago."
for(var/mob/M in viewers(5, O))
M << "\red \the [O] melts."
del(O)
qdel(O)
toxin/acid/polyacid
name = "Polytrinic acid"
@@ -2467,7 +2467,7 @@ datum
lowertemp.temperature = max( min(lowertemp.temperature-2000,lowertemp.temperature / 2) ,0)
lowertemp.react()
T.assume_air(lowertemp)
del(hotspot)
qdel(hotspot)
enzyme
name = "Universal Enzyme"
@@ -4428,5 +4428,9 @@ datum
..()
return
datum/reagent/Destroy() // This should only be called by the holder, so it's already handled clearing its references
..()
holder = null
// Undefine the alias for REAGENTS_EFFECT_MULTIPLER
#undef REM

View File

@@ -869,7 +869,7 @@ datum
M.client.screen += blueeffect
sleep(20)
M.client.screen -= blueeffect
del(blueeffect)
qdel(blueeffect)
slimecrit
name = "Slime Crit"
id = "m_tele"

View File

@@ -31,7 +31,7 @@
processing_objects.Add(src)
/obj/item/weapon/reagent_containers/borghypo/Del()
/obj/item/weapon/reagent_containers/borghypo/Destroy()
processing_objects.Remove(src)
..()

View File

@@ -173,8 +173,7 @@
center_of_mass = list("x"=16, "y"=10)
New()
..()
reagents.add_reagent("cola", 15)
reagents.add_reagent("orangejuice", 15)
reagents.add_reagent("brownstar", 30)
/obj/item/weapon/reagent_containers/food/drinks/cans/space_up
name = "Space-Up"

View File

@@ -30,7 +30,7 @@
user.put_in_active_hand(B)
src.transfer_fingerprints_to(B)
del(src)
qdel(src)
/obj/item/weapon/reagent_containers/food/drinks/bottle/attack(mob/living/target as mob, mob/living/user as mob)
@@ -83,7 +83,7 @@
O.show_message(text("\blue <B>The contents of the [src] splashes all over [target]!</B>"), 1)
src.reagents.reaction(target, TOUCH)
//Finally, smash the bottle. This kills (del) the bottle.
//Finally, smash the bottle. This kills (qdel) the bottle.
src.smash(target, user)
return

View File

@@ -3,7 +3,7 @@
if(istype(W,/obj/item/weapon/shard) || istype(W,/obj/item/weapon/reagent_containers/food/snacks))
var/obj/item/weapon/reagent_containers/food/snacks/csandwich/S = new(get_turf(src))
S.attackby(W,user)
del(src)
qdel(src)
..()
/obj/item/weapon/reagent_containers/food/snacks/csandwich
@@ -73,9 +73,9 @@
if(length(name) > 80) name = "[pick(list("absurd","colossal","enormous","ridiculous"))] sandwich"
w_class = n_ceil(Clamp((ingredients.len/2),2,4))
/obj/item/weapon/reagent_containers/food/snacks/csandwich/Del()
/obj/item/weapon/reagent_containers/food/snacks/csandwich/Destroy()
for(var/obj/item/O in ingredients)
del(O)
qdel(O)
..()
/obj/item/weapon/reagent_containers/food/snacks/csandwich/examine(mob/user)

View File

@@ -27,7 +27,7 @@
usr.put_in_hands(TrashItem)
else if(istype(trash,/obj/item))
usr.put_in_hands(trash)
del(src)
qdel(src)
return
/obj/item/weapon/reagent_containers/food/snacks/attack_self(mob/user as mob)
@@ -38,7 +38,7 @@
if(!reagents.total_volume)
user << "<span class='danger'>None of [src] left!</span>"
user.drop_from_inventory(src)
del(src)
qdel(src)
return 0
if(istype(M, /mob/living/carbon))
@@ -152,7 +152,7 @@
reagents.trans_to(U,min(reagents.total_volume,5))
if (reagents.total_volume <= 0)
del(src)
qdel(src)
return
if (is_sliceable())
@@ -187,13 +187,13 @@
for(var/i=1 to (slices_num-slices_lost))
var/obj/slice = new slice_path (src.loc)
reagents.trans_to(slice,reagents_per_slice)
del(src)
qdel(src)
return
/obj/item/weapon/reagent_containers/food/snacks/proc/is_sliceable()
return (slices_num && slice_path && slices_num > 0)
/obj/item/weapon/reagent_containers/food/snacks/Del()
/obj/item/weapon/reagent_containers/food/snacks/Destroy()
if(contents)
for(var/atom/movable/something in contents)
something.loc = get_turf(src)
@@ -212,7 +212,7 @@
spawn(5)
if(!src && !user.client)
user.custom_emote(1,"[pick("burps", "cries for more", "burps twice", "looks at the area where the food was")]")
del(src)
qdel(src)
On_Consume(user)
//////////////////////////////////////////////////
@@ -477,14 +477,14 @@
user << "You crack \the [src] into \the [O]."
reagents.trans_to(O, reagents.total_volume)
user.drop_from_inventory(src)
del(src)
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/egg/throw_impact(atom/hit_atom)
..()
new/obj/effect/decal/cleanable/egg_smudge(src.loc)
src.reagents.reaction(hit_atom, TOUCH)
src.visible_message("\red [src.name] has been squashed.","\red You hear a smack.")
del(src)
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/egg/attackby(obj/item/weapon/W as obj, mob/user as mob)
if(istype( W, /obj/item/toy/crayon ))
@@ -924,7 +924,7 @@
..()
new/obj/effect/decal/cleanable/pie_smudge(src.loc)
src.visible_message("\red [src.name] splats.","\red You hear a splat.")
del(src)
qdel(src)
/obj/item/weapon/reagent_containers/food/snacks/berryclafoutis
name = "Berry Clafoutis"
@@ -1588,7 +1588,7 @@
M << "\red \The [src] expands!"
var/mob/living/carbon/human/H = new (src)
H.set_species(monkey_type)
del(src)
qdel(src)
proc/Unwrap(mob/user as mob)
icon_state = "monkeycube"
@@ -2830,7 +2830,7 @@
if(istype(W,/obj/item/weapon/kitchen/rollingpin))
new /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough(src)
user << "You flatten the dough."
del(src)
qdel(src)
// slicable into 3xdoughslices
/obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough
@@ -2872,30 +2872,30 @@
if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/meatball))
new /obj/item/weapon/reagent_containers/food/snacks/monkeyburger(src)
user << "You make a burger."
del(W)
del(src)
qdel(W)
qdel(src)
// Bun + cutlet = hamburger
else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/cutlet))
new /obj/item/weapon/reagent_containers/food/snacks/monkeyburger(src)
user << "You make a burger."
del(W)
del(src)
qdel(W)
qdel(src)
// Bun + sausage = hotdog
else if(istype(W,/obj/item/weapon/reagent_containers/food/snacks/sausage))
new /obj/item/weapon/reagent_containers/food/snacks/hotdog(src)
user << "You make a hotdog."
del(W)
del(src)
qdel(W)
qdel(src)
// Burger + cheese wedge = cheeseburger
/obj/item/weapon/reagent_containers/food/snacks/monkeyburger/attackby(obj/item/weapon/reagent_containers/food/snacks/cheesewedge/W as obj, mob/user as mob)
if(istype(W))// && !istype(src,/obj/item/weapon/reagent_containers/food/snacks/cheesewedge))
new /obj/item/weapon/reagent_containers/food/snacks/cheeseburger(src)
user << "You make a cheeseburger."
del(W)
del(src)
qdel(W)
qdel(src)
return
else
..()
@@ -2905,8 +2905,8 @@
if(istype(W))
new /obj/item/weapon/reagent_containers/food/snacks/cheeseburger(src)
user << "You make a cheeseburger."
del(W)
del(src)
qdel(W)
qdel(src)
return
else
..()
@@ -2975,7 +2975,7 @@
if(istype(W,/obj/item/weapon/kitchen/utensil/knife))
new /obj/item/weapon/reagent_containers/food/snacks/rawsticks(src)
user << "You cut the potato."
del(src)
qdel(src)
else
..()

View File

@@ -15,7 +15,7 @@
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
new /obj/item/weapon/reagent_containers/food/snacks/rawcutlet(src)
user << "You cut the meat into thin strips."
del(src)
qdel(src)
else
..()

View File

@@ -270,10 +270,10 @@
attackby(var/obj/D, mob/user as mob)
if(isprox(D))
user << "You add [D] to [src]."
del(D)
qdel(D)
user.put_in_hands(new /obj/item/weapon/bucket_sensor)
user.drop_from_inventory(src)
del(src)
qdel(src)
update_icon()
overlays.Cut()

View File

@@ -31,9 +31,9 @@
M.drop_from_inventory(src) //icon update
if(reagents.total_volume)
reagents.trans_to_ingest(M, reagents.total_volume)
del(src)
qdel(src)
else
del(src)
qdel(src)
return 1
else if(istype(M, /mob/living/carbon/human) )
@@ -58,9 +58,9 @@
if(reagents.total_volume)
reagents.trans_to_ingest(M, reagents.total_volume)
del(src)
qdel(src)
else
del(src)
qdel(src)
return 1
@@ -83,7 +83,7 @@
O.show_message("\red [user] puts something in \the [target].", 1)
spawn(5)
del(src)
qdel(src)
return

View File

@@ -71,7 +71,7 @@
spawn(0)
D.reagents.reaction(A)
sleep(5)
del(D)
qdel(D)
else
var/obj/effect/decal/chempuff/D = new/obj/effect/decal/chempuff(get_turf(src))
D.create_reagents(amount_per_transfer_from_this)
@@ -93,7 +93,7 @@
D.reagents.reaction(A_turf)
sleep(2)
sleep(3)
del(D)
qdel(D)
return
@@ -229,7 +229,7 @@
for(var/atom/t in get_turf(D))
D.reagents.reaction(t)
sleep(2)
del(D)
qdel(D)
return

View File

@@ -251,7 +251,7 @@
for(var/mob/O in viewers(world.view, user))
O.show_message(text("\red <B>[user] tries to stab [target] in \the [hit_area] with [src.name], but the attack is deflected by armor!</B>"), 1)
user.remove_from_mob(src)
del(src)
qdel(src)
return
for(var/mob/O in viewers(world.view, user))

View File

@@ -44,17 +44,17 @@
ex_act(severity)
switch(severity)
if(1.0)
del(src)
qdel(src)
return
if(2.0)
if (prob(50))
new /obj/effect/effect/water(src.loc)
del(src)
qdel(src)
return
if(3.0)
if (prob(5))
new /obj/effect/effect/water(src.loc)
del(src)
qdel(src)
return
else
return
@@ -62,7 +62,7 @@
blob_act()
if(prob(50))
new /obj/effect/effect/water(src.loc)
del(src)
qdel(src)
@@ -168,7 +168,7 @@
else
explosion(src.loc,-1,1,2)
if(src)
del(src)
qdel(src)
/obj/structure/reagent_dispensers/fueltank/fire_act(datum/gas_mixture/air, temperature, volume)
if(temperature > T0C+500)
@@ -225,7 +225,7 @@
/obj/structure/reagent_dispensers/beerkeg/blob_act()
explosion(src.loc,0,3,5,7,10)
del(src)
qdel(src)
/obj/structure/reagent_dispensers/virusfood
name = "Virus Food Dispenser"