=a_transfer)//Uranium is always special.
//Here we determine how much reagent will actually transfer if there is enough to transfer or there is a need of transfer. Minimum of max amount available (using a_transfer) or amount needed.
- var/amount_to_transfer = min( (r_maxamount+(reagent_id == "radium"?(a_boost*a_transfer):0)-reagents.get_reagent_amount(reagent_id)) ,(round(R.volume/a_transfer))*a_transfer)//In the end here, we round the amount available, then multiply it again.
+ var/amount_to_transfer = min( (r_maxamount+(reagent_id == "uranium"?(a_boost*a_transfer):0)-reagents.get_reagent_amount(reagent_id)) ,(round(R.volume/a_transfer))*a_transfer)//In the end here, we round the amount available, then multiply it again.
R.volume -= amount_to_transfer//Remove from reagent volume. Don't want to delete the reagent now since we need to perserve the name.
reagents.add_reagent(reagent_id, amount_to_transfer)//Add to suit. Reactions are not important.
total_reagent_transfer += amount_to_transfer//Add to total reagent trans.
@@ -1206,29 +1173,6 @@ ________________________________________________________________________________
- /*
-
- Experimenting with a wrist-mounted hypospray for delivering hallucigenics. Todo: Possibly make it only work on harm intent.
-
- -- Dave
-
- */
-
- if("HUMAN")
- var/mob/living/carbon/human/A = target
- if(S.h_stings > 0)
- if(A != U) // Because it's bound to happen.
- S.h_stings -= 1
- A <<"\red You feel a tiny prick, something doesn't feel right..."
- U <<"\blue Hallucigen administered to [A], you have [S.h_stings] doses left."
- A.hallucination += 300
- else
- U <<"\red You think for a moment, and decide may not be wise to inject yourself."
- else
- U<<"\red You are out of stings!"
-
-
-
if("CYBORG")
var/mob/living/silicon/robot/A = target
A << "\red Warning: Unauthorized access through sub-route 12, block C, detected."
diff --git a/code/game/gamemodes/events/space_ninja.dm b/code/game/gamemodes/events/space_ninja.dm
index f6661c1f1c9..33a7be0484d 100644
--- a/code/game/gamemodes/events/space_ninja.dm
+++ b/code/game/gamemodes/events/space_ninja.dm
@@ -90,7 +90,7 @@ I decided to scrap round-specific objectives since keeping track of them would r
When I already created about 4 new objectives, this doesn't seem terribly important or needed.
*/
-/var/global/toggle_space_ninja = 0//If ninjas can spawn or not.
+/var/global/toggle_space_ninja = 1//If ninjas can spawn or not.
/var/global/sent_ninja_to_station = 0//If a ninja is already on the station.
var/ninja_selection_id = 1
diff --git a/code/game/gamemodes/events/spacevines.dm b/code/game/gamemodes/events/spacevines.dm
index 3ff70acbdf4..fedc5fbb2eb 100644
--- a/code/game/gamemodes/events/spacevines.dm
+++ b/code/game/gamemodes/events/spacevines.dm
@@ -227,15 +227,15 @@
/obj/effect/spacevine/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(90))
- del(src)
+ qdel(src)
return
if(3.0)
if (prob(50))
- del(src)
+ qdel(src)
return
return
diff --git a/code/game/gamemodes/meteor/meteors.dm b/code/game/gamemodes/meteor/meteors.dm
index 95945f1e115..91df8611aa0 100644
--- a/code/game/gamemodes/meteor/meteors.dm
+++ b/code/game/gamemodes/meteor/meteors.dm
@@ -114,7 +114,7 @@
/obj/effect/meteor/ex_act(severity)
if (severity < 4)
- del(src)
+ qdel(src)
return
/obj/effect/meteor/big
diff --git a/code/game/gamemodes/newobjective.dm b/code/game/gamemodes/newobjective.dm
index 9f26b049b8c..61196ac5a2b 100644
--- a/code/game/gamemodes/newobjective.dm
+++ b/code/game/gamemodes/newobjective.dm
@@ -1415,7 +1415,7 @@ datum
check_completion()//Basically runs through all the mobs in the area to determine how much they are worth.
var/captured_amount = 0
- var/area/centcom/holding/A = locate()
+ var/area/ninja/holding/A = locate()
for(var/mob/living/carbon/human/M in A)//Humans.
if(M.stat==2)//Dead folks are worth less.
captured_amount+=0.5
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 27164b5abc9..1be0c2fe405 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -566,7 +566,7 @@ datum/objective/capture
check_completion()//Basically runs through all the mobs in the area to determine how much they are worth.
var/captured_amount = 0
- var/area/centcom/holding/A = locate()
+ var/area/ninja/holding/A = locate()
for(var/mob/living/carbon/human/M in A)//Humans.
if(M.stat==2)//Dead folks are worth less.
captured_amount+=0.5
diff --git a/code/game/gamemodes/setupgame.dm b/code/game/gamemodes/setupgame.dm
index dc85d7e9970..326060ee847 100644
--- a/code/game/gamemodes/setupgame.dm
+++ b/code/game/gamemodes/setupgame.dm
@@ -1,4 +1,7 @@
/proc/getAssignedBlock(var/name,var/list/blocksLeft, var/activity_bounds=DNA_DEFAULT_BOUNDS)
+ if(blocksLeft.len==0)
+ warning("[name]: No more blocks left to assign!")
+ return 0
var/assigned = pick(blocksLeft)
blocksLeft.Remove(assigned)
assigned_blocks[assigned]=name
@@ -77,6 +80,14 @@
PSYRESISTBLOCK = getAssignedBlock("PSYRESIST", numsToAssign, DNA_HARD_BOUNDS)
SHADOWBLOCK = getAssignedBlock("SHADOW", numsToAssign, DNA_HARDER_BOUNDS)
CHAMELEONBLOCK = getAssignedBlock("CHAMELEON", numsToAssign, DNA_HARDER_BOUNDS)
+ CRYOBLOCK = getAssignedBlock("CRYO", numsToAssign, DNA_HARD_BOUNDS)
+ EATBLOCK = getAssignedBlock("EAT", numsToAssign, DNA_HARD_BOUNDS)
+ JUMPBLOCK = getAssignedBlock("JUMP", numsToAssign, DNA_HARD_BOUNDS)
+ MELTBLOCK = getAssignedBlock("MELT", numsToAssign)
+ IMMOLATEBLOCK = getAssignedBlock("IMMOLATE", numsToAssign)
+ EMPATHBLOCK = getAssignedBlock("EMPATH", numsToAssign, DNA_HARD_BOUNDS)
+ SUPERFARTBLOCK = getAssignedBlock("SUPERFART", numsToAssign, DNA_HARDER_BOUNDS)
+ POLYMORPHBLOCK = getAssignedBlock("POLYMORPH", numsToAssign, DNA_HARDER_BOUNDS)
//
// Static Blocks
@@ -98,7 +109,9 @@
assignedToBlock=blocks_assigned[G.block]
assignedToBlock.Add(G.name)
blocks_assigned[G.block]=assignedToBlock
- testing("DNA2: Gene [G.name] assigned to block [G.block].")
+ //testing("DNA2: Gene [G.name] assigned to block [G.block].")
+
+ testing("DNA2: [numsToAssign.len] blocks are unused: [english_list(numsToAssign)]")
// Run AFTER genetics setup and AFTER species setup.
/proc/setup_species()
diff --git a/code/game/gamemodes/steal_items.dm b/code/game/gamemodes/steal_items.dm
index 72d59460da5..8672a84b827 100644
--- a/code/game/gamemodes/steal_items.dm
+++ b/code/game/gamemodes/steal_items.dm
@@ -40,11 +40,6 @@
typepath = /obj/item/weapon/rcd
protected_jobs = list("Chief Engineer")
-/datum/theft_objective/rpd
- name = "an RPD"
- typepath = /obj/item/weapon/pipe_dispenser
- protected_jobs = list("Chief Engineer")
-
/datum/theft_objective/jetpack
name = "a jetpack"
typepath = /obj/item/weapon/tank/jetpack
diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm
index 26eab1f683f..310af6170b9 100644
--- a/code/game/gamemodes/traitor/traitor.dm
+++ b/code/game/gamemodes/traitor/traitor.dm
@@ -85,14 +85,9 @@
kill_objective.find_target()
traitor.objectives += kill_objective
- if(prob(25))
- var/datum/objective/die/die_objective = new
- die_objective.owner = traitor
- traitor.objectives += die_objective
- else
- var/datum/objective/survive/survive_objective = new
- survive_objective.owner = traitor
- traitor.objectives += survive_objective
+ var/datum/objective/survive/survive_objective = new
+ survive_objective.owner = traitor
+ traitor.objectives += survive_objective
if(prob(10))
var/datum/objective/block/block_objective = new
@@ -122,12 +117,16 @@
steal_objective.find_target()
traitor.objectives += steal_objective
switch(rand(1,100))
- if(1 to 100)
+ if(1 to 30) // Die glorious death
+ if (!(locate(/datum/objective/die) in traitor.objectives))
+ var/datum/objective/die/die_objective = new
+ die_objective.owner = traitor
+ traitor.objectives += die_objective
+ if(31 to 90)
if (!(locate(/datum/objective/escape) in traitor.objectives))
var/datum/objective/escape/escape_objective = new
escape_objective.owner = traitor
traitor.objectives += escape_objective
-
else
if(prob(50))
if (!(locate(/datum/objective/hijack) in traitor.objectives))
diff --git a/code/game/gamemodes/vampire/vampire.dm b/code/game/gamemodes/vampire/vampire.dm
index 0884e7eff1c..90f97035291 100644
--- a/code/game/gamemodes/vampire/vampire.dm
+++ b/code/game/gamemodes/vampire/vampire.dm
@@ -217,9 +217,9 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
if(!mind.vampire)
mind.vampire = new /datum/vampire(gender)
mind.vampire.owner = src
- verbs += /client/proc/vampire_rejuvinate
- verbs += /client/proc/vampire_hypnotise
- verbs += /client/proc/vampire_glare
+ verbs += /client/vampire/proc/vampire_rejuvinate
+ verbs += /client/vampire/proc/vampire_hypnotise
+ verbs += /client/vampire/proc/vampire_glare
//testing purposes REMOVE BEFORE PUSH TO MASTER
/*for(var/handler in typesof(/client/proc))
if(findtext("[handler]","vampire_"))
@@ -232,27 +232,27 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
for(var/n in mind.vampire.powers)
switch(n)
if(VAMP_SHAPE)
- verbs += /client/proc/vampire_shapeshift
+ verbs += /client/vampire/proc/vampire_shapeshift
if(VAMP_VISION)
continue
if(VAMP_DISEASE)
- verbs += /client/proc/vampire_disease
+ verbs += /client/vampire/proc/vampire_disease
if(VAMP_CLOAK)
- verbs += /client/proc/vampire_cloak
+ verbs += /client/vampire/proc/vampire_cloak
if(VAMP_BATS)
- verbs += /client/proc/vampire_bats
+ verbs += /client/vampire/proc/vampire_bats
if(VAMP_SCREAM)
- verbs += /client/proc/vampire_screech
+ verbs += /client/vampire/proc/vampire_screech
if(VAMP_JAUNT)
- verbs += /client/proc/vampire_jaunt
+ verbs += /client/vampire/proc/vampire_jaunt
if(VAMP_BLINK)
- verbs += /client/proc/vampire_shadowstep
+ verbs += /client/vampire/proc/vampire_shadowstep
if(VAMP_SLAVE)
- verbs += /client/proc/vampire_enthrall
+ verbs += /client/vampire/proc/vampire_enthrall
if(VAMP_FULL)
continue
/mob/proc/remove_vampire_powers()
- for(var/handler in typesof(/client/proc))
+ for(var/handler in typesof(/client/vampire/proc))
if(findtext("[handler]","vampire_"))
verbs -= handler
@@ -355,31 +355,31 @@ You are weak to holy things and starlight. Don't go into space and avoid the Cha
switch(n)
if(VAMP_SHAPE)
src << "\blue You have gained the shapeshifting ability, at the cost of stored blood you can change your form permanently."
- verbs += /client/proc/vampire_shapeshift
+ verbs += /client/vampire/proc/vampire_shapeshift
if(VAMP_VISION)
src << "\blue Your vampiric vision has improved."
//no verb
if(VAMP_DISEASE)
src << "\blue You have gained the Diseased Touch ability which causes those you touch to die shortly after unless treated medically."
- verbs += /client/proc/vampire_disease
+ verbs += /client/vampire/proc/vampire_disease
if(VAMP_CLOAK)
src << "\blue You have gained the Cloak of Darkness ability which when toggled makes you near invisible in the shroud of darkness."
- verbs += /client/proc/vampire_cloak
+ verbs += /client/vampire/proc/vampire_cloak
if(VAMP_BATS)
src << "\blue You have gained the Summon Bats ability."
- verbs += /client/proc/vampire_bats // work in progress
+ verbs += /client/vampire/proc/vampire_bats // work in progress
if(VAMP_SCREAM)
src << "\blue You have gained the Chriopteran Screech ability which stuns anything with ears in a large radius and shatters glass in the process."
- verbs += /client/proc/vampire_screech
+ verbs += /client/vampire/proc/vampire_screech
if(VAMP_JAUNT)
src << "\blue You have gained the Mist Form ability which allows you to take on the form of mist for a short period and pass over any obstacle in your path."
- verbs += /client/proc/vampire_jaunt
+ verbs += /client/vampire/proc/vampire_jaunt
if(VAMP_SLAVE)
src << "\blue You have gained the Enthrall ability which at a heavy blood cost allows you to enslave a human that is not loyal to any other for a random period of time."
- verbs += /client/proc/vampire_enthrall
+ verbs += /client/vampire/proc/vampire_enthrall
if(VAMP_BLINK)
src << "\blue You have gained the ability to shadowstep, which makes you disappear into nearby shadows at the cost of blood."
- verbs += /client/proc/vampire_shadowstep
+ verbs += /client/vampire/proc/vampire_shadowstep
if(VAMP_FULL)
src << "\blue You have reached your full potential and are no longer weak to the effects of anything holy and your vision has been improved greatly."
//no verb
diff --git a/code/game/gamemodes/vampire/vampire_powers.dm b/code/game/gamemodes/vampire/vampire_powers.dm
index ab922cc413d..9540dd6880e 100644
--- a/code/game/gamemodes/vampire/vampire_powers.dm
+++ b/code/game/gamemodes/vampire/vampire_powers.dm
@@ -68,7 +68,7 @@
if(!vampire_power(required_blood, max_stat)) return
return T
-/client/proc/vampire_rejuvinate()
+/client/vampire/proc/vampire_rejuvinate()
set category = "Vampire"
set name = "Rejuvinate "
set desc= "Flush your system with spare blood to remove any incapacitating effects"
@@ -88,11 +88,11 @@
M.current.adjustToxLoss(-2)
M.current.adjustFireLoss(-2)
sleep(35)
- M.current.verbs -= /client/proc/vampire_rejuvinate
+ M.current.verbs -= /client/vampire/proc/vampire_rejuvinate
spawn(200)
- M.current.verbs += /client/proc/vampire_rejuvinate
+ M.current.verbs += /client/vampire/proc/vampire_rejuvinate
-/client/proc/vampire_hypnotise()
+/client/vampire/proc/vampire_hypnotise()
set category = "Vampire"
set name = "Hypnotise (20)"
set desc= "A piercing stare that incapacitates your victim for a good length of time."
@@ -104,9 +104,9 @@
if(!C) return
M.current.visible_message("[M]'s eyes flash briefly as he stares into [C.name]'s eyes")
M.current.remove_vampire_blood(20)
- M.current.verbs -= /client/proc/vampire_hypnotise
+ M.current.verbs -= /client/vampire/proc/vampire_hypnotise
spawn(1800)
- M.current.verbs += /client/proc/vampire_hypnotise
+ M.current.verbs += /client/vampire/proc/vampire_hypnotise
if(do_mob(M.current, C, 50))
if(C.mind && C.mind.vampire)
M.current << "\red Your piercing gaze fails to knock out [C.name]."
@@ -122,7 +122,7 @@
M.current << "\red You broke your gaze."
return
-/client/proc/vampire_disease()
+/client/vampire/proc/vampire_disease()
set category = "Vampire"
set name = "Diseased Touch (100)"
set desc = "Touches your victim with infected blood giving them the Shutdown Syndrome which quickly shutsdown their major organs resulting in a quick painful death."
@@ -162,10 +162,10 @@
shutdown.clicks = 185
infect_virus2(C,shutdown,0)
M.current.remove_vampire_blood(100)
- M.current.verbs -= /client/proc/vampire_disease
- spawn(1800) M.current.verbs += /client/proc/vampire_disease
+ M.current.verbs -= /client/vampire/proc/vampire_disease
+ spawn(1800) M.current.verbs += /client/vampire/proc/vampire_disease
-/client/proc/vampire_glare()
+/client/vampire/proc/vampire_glare()
set category = "Vampire"
set name = "Glare"
set desc= "A scary glare that incapacitates people for a short while around you."
@@ -174,9 +174,9 @@
if(M.current.vampire_power(0, 1))
M.current.visible_message("\red [M.current]'s eyes emit a blinding flash!")
//M.vampire.bloodusable -= 10
- M.current.verbs -= /client/proc/vampire_glare
+ M.current.verbs -= /client/vampire/proc/vampire_glare
spawn(300)
- M.current.verbs += /client/proc/vampire_glare
+ M.current.verbs += /client/vampire/proc/vampire_glare
if(istype(M.current:glasses, /obj/item/clothing/glasses/sunglasses/blindfold))
M.current << "You're blindfolded!"
return
@@ -188,7 +188,7 @@
C.stuttering = 20
C << "\red You are blinded by [M.current]'s glare"
-/client/proc/vampire_shapeshift()
+/client/vampire/proc/vampire_shapeshift()
set category = "Vampire"
set name = "Shapeshift (50)"
set desc = "Changes your name and appearance at the cost of 50 blood and has a cooldown of 3 minutes."
@@ -200,10 +200,10 @@
M.current.client.prefs.randomize_appearance_for(M.current)
M.current.regenerate_icons()
M.current.remove_vampire_blood(50)
- M.current.verbs -= /client/proc/vampire_shapeshift
- spawn(1800) M.current.verbs += /client/proc/vampire_shapeshift
+ M.current.verbs -= /client/vampire/proc/vampire_shapeshift
+ spawn(1800) M.current.verbs += /client/vampire/proc/vampire_shapeshift
-/client/proc/vampire_screech()
+/client/vampire/proc/vampire_screech()
set category = "Vampire"
set name = "Chiroptean Screech (30)"
set desc = "An extremely loud shriek that stuns nearby humans and breaks windows as well."
@@ -227,10 +227,10 @@
del(W)
playsound(M.current.loc, 'sound/effects/creepyshriek.ogg', 100, 1)
M.current.remove_vampire_blood(30)
- M.current.verbs -= /client/proc/vampire_screech
- spawn(1800) M.current.verbs += /client/proc/vampire_screech
+ M.current.verbs -= /client/vampire/proc/vampire_screech
+ spawn(1800) M.current.verbs += /client/vampire/proc/vampire_screech
-/client/proc/vampire_enthrall()
+/client/vampire/proc/vampire_enthrall()
set category = "Vampire"
set name = "Enthrall (300)"
set desc = "You use a large portion of your power to sway those loyal to none to be loyal to you only."
@@ -248,15 +248,15 @@
if(M.current.can_enthrall(C) && M.current.vampire_power(300, 0)) // recheck
M.current.handle_enthrall(C)
M.current.remove_vampire_blood(300)
- M.current.verbs -= /client/proc/vampire_enthrall
- spawn(1800) M.current.verbs += /client/proc/vampire_enthrall
+ M.current.verbs -= /client/vampire/proc/vampire_enthrall
+ spawn(1800) M.current.verbs += /client/vampire/proc/vampire_enthrall
else
M.current << "\red You or your target either moved or you dont have enough usable blood."
return
-/client/proc/vampire_cloak()
+/client/vampire/proc/vampire_cloak()
set category = "Vampire"
set name = "Cloak of Darkness (toggle)"
set desc = "Toggles whether you are currently cloaking yourself in darkness."
@@ -319,7 +319,7 @@
ticker.mode.update_vampire_icons_added(src.mind)
log_admin("[ckey(src.key)] has mind-slaved [ckey(H.key)].")
-/client/proc/vampire_bats()
+/client/vampire/proc/vampire_bats()
set category = "Vampire"
set name = "Summon Bats (75)"
set desc = "You summon a pair of space bats who attack nearby targets until they or their target is dead."
@@ -344,10 +344,10 @@
new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current)
new /mob/living/simple_animal/hostile/scarybat(M.current.loc, M.current)
M.current.remove_vampire_blood(75)
- M.current.verbs -= /client/proc/vampire_bats
- spawn(1200) M.current.verbs += /client/proc/vampire_bats
+ M.current.verbs -= /client/vampire/proc/vampire_bats
+ spawn(1200) M.current.verbs += /client/vampire/proc/vampire_bats
-/client/proc/vampire_jaunt()
+/client/vampire/proc/vampire_jaunt()
//AHOY COPY PASTE INCOMING
set category = "Vampire"
set name = "Mist Form (30)"
@@ -401,12 +401,12 @@
del(animation)
del(holder)
M.current.remove_vampire_blood(30)
- M.current.verbs -= /client/proc/vampire_jaunt
- spawn(600) M.current.verbs += /client/proc/vampire_jaunt
+ M.current.verbs -= /client/vampire/proc/vampire_jaunt
+ spawn(600) M.current.verbs += /client/vampire/proc/vampire_jaunt
// Blink for vamps
// Less smoke spam.
-/client/proc/vampire_shadowstep()
+/client/vampire/proc/vampire_shadowstep()
set category = "Vampire"
set name = "Shadowstep (30)"
set desc = "Vanish into the shadows."
@@ -458,9 +458,9 @@
spawn(10)
del(animation)
M.current.remove_vampire_blood(30)
- M.current.verbs -= /client/proc/vampire_shadowstep
+ M.current.verbs -= /client/vampire/proc/vampire_shadowstep
spawn(20)
- M.current.verbs += /client/proc/vampire_shadowstep
+ M.current.verbs += /client/vampire/proc/vampire_shadowstep
/mob/proc/remove_vampire_blood(amount = 0)
var/bloodold
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index c11cece56cb..89712f10dd3 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -28,12 +28,12 @@
switch(severity)
if(1.0)
//SN src = null
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
//SN src = null
- del(src)
+ qdel(src)
return
if(3.0)
if (prob(25))
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 4d573e1eea2..03a67b4f719 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -21,12 +21,12 @@
switch(severity)
if(1.0)
//SN src = null
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
//SN src = null
- del(src)
+ qdel(src)
return
else
return
@@ -250,21 +250,21 @@
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
- del(src)
+ qdel(src)
return
if(2.0)
if(prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
- del(src)
+ qdel(src)
return
if(3.0)
if(prob(25))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
- del(src)
+ qdel(src)
return
return
emp_act(severity)
diff --git a/code/game/machinery/adv_med.dm b/code/game/machinery/adv_med.dm
index 31640d7cf1d..34afcf5e97b 100644
--- a/code/game/machinery/adv_med.dm
+++ b/code/game/machinery/adv_med.dm
@@ -102,7 +102,7 @@
ex_act(severity)
//Foreach goto(35)
//SN src = null
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
@@ -111,7 +111,7 @@
ex_act(severity)
//Foreach goto(108)
//SN src = null
- del(src)
+ qdel(src)
return
if(3.0)
if (prob(25))
@@ -120,7 +120,7 @@
ex_act(severity)
//Foreach goto(181)
//SN src = null
- del(src)
+ qdel(src)
return
else
return
@@ -136,12 +136,12 @@
switch(severity)
if(1.0)
//SN src = null
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
//SN src = null
- del(src)
+ qdel(src)
return
else
return
diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm
index 5a6ac945acd..65cfa8f227a 100644
--- a/code/game/machinery/autolathe.dm
+++ b/code/game/machinery/autolathe.dm
@@ -4,8 +4,8 @@ var/global/list/autolathe_recipes = list( \
new /obj/item/stack/sheet/metal(), \
new /obj/item/stack/sheet/glass(), \
new /obj/item/stack/sheet/rglass(), \
- new /obj/item/stack/rods(), \
new /obj/item/stack/sheet/fur(), \
+ new /obj/item/stack/rods(), \
new /obj/item/weapon/crowbar(), \
new /obj/item/weapon/screwdriver(), \
new /obj/item/weapon/weldingtool(), \
@@ -21,7 +21,6 @@ var/global/list/autolathe_recipes = list( \
new /obj/item/weapon/airlock_electronics(), \
new /obj/item/weapon/airalarm_electronics(), \
new /obj/item/weapon/firealarm_electronics(), \
- new /obj/item/weapon/rcd_ammo(), \
new /obj/item/weapon/kitchenknife(), \
new /obj/item/weapon/scalpel(), \
new /obj/item/weapon/circular_saw(), \
@@ -32,9 +31,6 @@ var/global/list/autolathe_recipes = list( \
new /obj/item/weapon/reagent_containers/glass/beaker(), \
new /obj/item/weapon/reagent_containers/glass/beaker/large(), \
new /obj/item/weapon/reagent_containers/glass/bucket(), \
- new /obj/item/weapon/storage/box/blanks(), \
- new /obj/item/ammo_casing/shotgun/beanbag(), \
- new /obj/item/ammo_box/c38(), \
new /obj/item/device/taperecorder(), \
new /obj/item/device/assembly/igniter(), \
new /obj/item/device/assembly/signaler(), \
@@ -46,6 +42,12 @@ var/global/list/autolathe_recipes = list( \
new /obj/item/weapon/light/tube(), \
new /obj/item/weapon/light/bulb(), \
new /obj/item/weapon/camera_assembly(), \
+ new /obj/item/weapon/rcd_ammo(), \
+ new /obj/item/ammo_casing/shotgun/beanbag(), \
+ new /obj/item/weapon/storage/box/blanks(), \
+ new /obj/item/ammo_casing/shotgun(), \
+ new /obj/item/ammo_box/c38(), \
+ new /obj/item/ammo_box/a357(), \
new /obj/item/clothing/ears/earmuffs/tribblemuffs(), \
new /obj/item/clothing/gloves/furgloves(), \
new /obj/item/clothing/head/furcap(), \
@@ -60,12 +62,9 @@ var/global/list/autolathe_recipes_hidden = list( \
new /obj/item/device/radio/electropack(), \
new /obj/item/weapon/weldingtool/largetank(), \
new /obj/item/weapon/handcuffs(), \
- new /obj/item/ammo_box/a357(), \
- new /obj/item/ammo_casing/shotgun(), \
- new /obj/item/ammo_casing/shotgun/dart(), \
- /* new /obj/item/weapon/shield/riot(), */ \
+ /*new /obj/item/ammo_casing/shotgun/dart(), \
+ new /obj/item/weapon/shield/riot(), */ \
)
-
/obj/machinery/autolathe
name = "autolathe"
desc = "It produces items using metal and glass."
diff --git a/code/game/machinery/bots/bots.dm b/code/game/machinery/bots/bots.dm
index 39457e3b5c6..c759a153570 100644
--- a/code/game/machinery/bots/bots.dm
+++ b/code/game/machinery/bots/bots.dm
@@ -27,7 +27,7 @@
SetLuminosity(0)
/obj/machinery/bot/proc/explode()
- del(src)
+ qdel(src)
/obj/machinery/bot/proc/healthcheck()
if (src.health <= 0)
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 4d7c2328d1f..3e6e0aee364 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -387,21 +387,21 @@
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
- del(src)
+ qdel(src)
return
if(3.0)
if (prob(25))
for(var/atom/movable/A as mob|obj in src)
A.loc = src.loc
ex_act(severity)
- del(src)
+ qdel(src)
return
else
return
diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm
index 7a6e1c405e7..c2ede13abe2 100644
--- a/code/game/machinery/computer/HolodeckControl.dm
+++ b/code/game/machinery/computer/HolodeckControl.dm
@@ -288,7 +288,7 @@
var/area/targetsource = locate(/area/holodeck/source_emptycourt)
holographic_items = targetsource.copy_contents_to(linkedholodeck)
- spawn(30)
+/* spawn(30)
for(var/obj/effect/landmark/L in linkedholodeck)
if(L.name=="Atmospheric Test Start")
spawn(20)
@@ -298,7 +298,7 @@
s.start()
if(T)
T.temperature = 5000
- T.hotspot_expose(50000,50000,1)
+ T.hotspot_expose(50000,50000,1)*/
active = 1
else
diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm
index 8ece9316147..3ef385d0285 100644
--- a/code/game/machinery/computer/computer.dm
+++ b/code/game/machinery/computer/computer.dm
@@ -44,11 +44,11 @@
/obj/machinery/computer/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(25))
- del(src)
+ qdel(src)
return
if (prob(50))
for(var/x in verbs)
diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm
index bc050c6d1d6..e2876f0b9ae 100644
--- a/code/game/machinery/computer/specops_shuttle.dm
+++ b/code/game/machinery/computer/specops_shuttle.dm
@@ -29,7 +29,8 @@ var/specops_shuttle_timeleft = 0
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING TO RETURN\""//Initial message shown.
if(announcer)
- announcer.autosay(message, "A.L.I.C.E.", "Response Team")
+ announcer.autosay(message, "A.L.I.C.E.", 144.3)
+ announcer.autosay(message, "A.L.I.C.E.", 144.1)
while(specops_shuttle_time - world.timeofday > 0)
var/ticksleft = specops_shuttle_time - world.timeofday
@@ -45,7 +46,7 @@ var/specops_shuttle_timeleft = 0
message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\""
if(rounded_time_left==0)
message = "\"ALERT: TAKEOFF\""
- announcer.autosay(message, "A.L.I.C.E.", "Response Team")
+ announcer.autosay(message, "A.L.I.C.E.", )
message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle.
//Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that.
@@ -104,9 +105,10 @@ var/specops_shuttle_timeleft = 0
var/message_tracker[] = list(0,1,2,3,5,10,30,45)//Create a a list with potential time values.
var/message = "\"THE SPECIAL OPERATIONS SHUTTLE IS PREPARING FOR LAUNCH\""//Initial message shown.
if(announcer)
- announcer.autosay(message, "A.L.I.C.E.", "Response Team")
-// message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD"
-// announcer.autosay(message, "A.L.I.C.E.", "Response Team")
+ announcer.autosay(message, "A.L.I.C.E.", 144.3)
+ announcer.autosay(message, "A.L.I.C.E.", 144.1)
+ message = "ARMORED SQUAD TAKE YOUR POSITION ON GRAVITY LAUNCH PAD"
+ announcer.autosay(message, "A.L.I.C.E.", 144.1)
while(specops_shuttle_time - world.timeofday > 0)
var/ticksleft = specops_shuttle_time - world.timeofday
@@ -122,7 +124,8 @@ var/specops_shuttle_timeleft = 0
message = "\"ALERT: [rounded_time_left] SECOND[(rounded_time_left!=1)?"S":""] REMAIN\""
if(rounded_time_left==0)
message = "\"ALERT: TAKEOFF\""
- announcer.autosay(message, "A.L.I.C.E.", "Response Team")
+ announcer.autosay(message, "A.L.I.C.E.", 144.3)
+ announcer.autosay(message, "A.L.I.C.E.", 144.1)
message_tracker -= rounded_time_left//Remove the number from the list so it won't be called again next cycle.
//Should call all the numbers but lag could mean some issues. Oh well. Not much I can do about that.
@@ -160,11 +163,11 @@ var/specops_shuttle_timeleft = 0
var/spawn_marauder[] = new()
for(var/obj/effect/landmark/L in world)
if(L.name == "Marauder Entry")
- spawn_marauder.Add(L)
+ spawn_marauder.Add(L.loc)
for(var/obj/effect/landmark/L in world)
if(L.name == "Marauder Exit")
var/obj/effect/portal/P = new(L.loc)
- P.invisibility = 101//So it is not seen by anyone.
+ //P.invisibility = 101//So it is not seen by anyone.
P.failchance = 0//So it has no fail chance when teleporting.
P.target = pick(spawn_marauder)//Where the marauder will arrive.
spawn_marauder.Remove(P.target)
diff --git a/code/game/machinery/computer/syndicate_specops_shuttle.dm b/code/game/machinery/computer/syndicate_specops_shuttle.dm
index 7ba21efbcfd..41a6f9b7307 100644
--- a/code/game/machinery/computer/syndicate_specops_shuttle.dm
+++ b/code/game/machinery/computer/syndicate_specops_shuttle.dm
@@ -130,17 +130,15 @@ var/syndicate_elite_shuttle_timeleft = 0
*/
elite_squad.readyreset()//Reset firealarm after the team launched.
//End Marauder launchpad.
-/*
- var/obj/explosionmarker = locate("Syndicate Breach Area")
- if(explosionmarker)
- var/turf/simulated/T = explosionmarker.loc
- if(T)
- explosion(T,4,6,8,10,0)
+
+ for (var/obj/effect/landmark/L in landmarks_list)
+ if (L.name == "Syndicate Breach Area")
+ explosion(L.loc,4,6,8,10,0)
sleep(40)
// proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1)
-*/
+
var/area/start_location = locate(/area/shuttle/syndicate_elite/mothership)
var/area/end_location = locate(/area/shuttle/syndicate_elite/station)
diff --git a/code/game/machinery/constructable_frame.dm b/code/game/machinery/constructable_frame.dm
index 59eba9bdb4b..4e908808c66 100644
--- a/code/game/machinery/constructable_frame.dm
+++ b/code/game/machinery/constructable_frame.dm
@@ -46,17 +46,6 @@
user << "\blue You add cables to the frame."
state = 2
icon_state = "box_1"
- if(istype(P, /obj/item/stack/sheet/glass))
- var/obj/item/stack/sheet/glass/G=P
- if(G.amount<1)
- user << "\red How...?"
- return
- G.use(1)
- user << "\blue You add the glass to the frame."
- playsound(get_turf(src), 'sound/items/Deconstruct.ogg', 50, 1)
- new /obj/structure/displaycase_frame(src.loc)
- del(src)
- return
else
if(istype(P, /obj/item/weapon/wrench))
playsound(src.loc, 'sound/items/Ratchet.ogg', 75, 1)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 3ab87eb3ed8..8dfc60e5981 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -333,9 +333,9 @@ obj/machinery/computer/cryopod/Topic(href, href_list)
return
if(orient_right)
- icon_state = "body_scanner0-r"
+ icon_state = "body_scanner_0-r"
else
- icon_state = "body_scanner0"
+ icon_state = "body_scanner_0"
src.go_out()
add_fingerprint(usr)
@@ -411,4 +411,4 @@ obj/machinery/computer/cryopod/Topic(href, href_list)
//Attacks/effects.
/obj/machinery/cryopod/blob_act()
- return //Sorta gamey, but we don't really want these to be destroyed.
\ No newline at end of file
+ return //Sorta gamey, but we don't really want these to be destroyed.
diff --git a/code/game/machinery/deployable.dm b/code/game/machinery/deployable.dm
index 70010a74d5d..c00668a7276 100644
--- a/code/game/machinery/deployable.dm
+++ b/code/game/machinery/deployable.dm
@@ -96,7 +96,7 @@ for reference:
switch(severity)
if(1.0)
visible_message("\red The barricade is blown apart!")
- del(src)
+ qdel(src)
return
if(2.0)
src.health -= 25
@@ -105,7 +105,7 @@ for reference:
new /obj/item/stack/sheet/wood(get_turf(src))
new /obj/item/stack/sheet/wood(get_turf(src))
new /obj/item/stack/sheet/wood(get_turf(src))
- del(src)
+ qdel(src)
return
meteorhit()
@@ -269,4 +269,4 @@ for reference:
explosion(src.loc,-1,-1,0)
if(src)
- del(src)
\ No newline at end of file
+ qdel(src)
\ No newline at end of file
diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm
index a7295736afa..035dbf742fa 100644
--- a/code/game/machinery/doors/door.dm
+++ b/code/game/machinery/doors/door.dm
@@ -172,10 +172,10 @@
/obj/machinery/door/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
if(2.0)
if(prob(25))
- del(src)
+ qdel(src)
if(3.0)
if(prob(80))
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
diff --git a/code/game/machinery/hologram.dm b/code/game/machinery/hologram.dm
index 5442248986a..fe24dcd79aa 100644
--- a/code/game/machinery/hologram.dm
+++ b/code/game/machinery/hologram.dm
@@ -160,13 +160,13 @@ For the other part of the code, check silicon say.dm. Particularly robot talk.*/
/obj/machinery/hologram/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
if(3.0)
if (prob(5))
- del(src)
+ qdel(src)
return
/obj/machinery/hologram/blob_act()
diff --git a/code/game/machinery/kitchen/processor.dm b/code/game/machinery/kitchen/processor.dm
index c85da2eab00..92f01384aa6 100644
--- a/code/game/machinery/kitchen/processor.dm
+++ b/code/game/machinery/kitchen/processor.dm
@@ -53,6 +53,13 @@
input = /obj/item/weapon/reagent_containers/food/snacks/grown/soybeans
output = /obj/item/weapon/reagent_containers/food/snacks/soydope
+ wheat
+ input = /obj/item/weapon/reagent_containers/food/snacks/grown/wheat
+ output = /obj/item/weapon/reagent_containers/food/snacks/flour
+
+ spaghetti
+ input = /obj/item/weapon/reagent_containers/food/snacks/flour
+ output = /obj/item/weapon/reagent_containers/food/snacks/spagetti
/* mobs */
mob
@@ -143,13 +150,13 @@
src.processing = 1
user.visible_message("\blue [user] turns on \a [src].", \
"You turn on \a [src].", \
- "You hear a food processor")
+ "You hear a food processor.")
playsound(src.loc, 'sound/machines/blender.ogg', 50, 1)
use_power(500)
sleep(P.time)
P.process(src.loc, O)
src.processing = 0
src.visible_message("\blue \the [src] finished processing.", \
- "You hear food processor stops")
+ "You hear the food processor stopping/")
diff --git a/code/game/machinery/machinery.dm b/code/game/machinery/machinery.dm
index 89a380f1cb3..f6a0c555cdc 100644
--- a/code/game/machinery/machinery.dm
+++ b/code/game/machinery/machinery.dm
@@ -140,15 +140,15 @@ Class Procs:
/obj/machinery/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
return
if(3.0)
if (prob(25))
- del(src)
+ qdel(src)
return
else
return
@@ -232,6 +232,10 @@ Class Procs:
src.add_fingerprint(user)
return 0
+/obj/machinery/CheckParts()
+ RefreshParts()
+ return
+
/obj/machinery/proc/RefreshParts() //Placeholder proc for machines that are built using frames.
return
return 0
diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm
index 2833c0fa580..7b91b95eb14 100644
--- a/code/game/machinery/newscaster.dm
+++ b/code/game/machinery/newscaster.dm
@@ -152,12 +152,12 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co
/obj/machinery/newscaster/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
return
if(2.0)
src.isbroken=1
if(prob(50))
- del(src)
+ qdel(src)
else
src.update_icon() //can't place it above the return and outside the if-else. or we might get runtimes of null.update_icon() if(prob(50)) goes in.
return
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 8592bc6ce97..262bdacb995 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -406,7 +406,7 @@ Status: []
"},
/obj/machinery/porta_turret/ex_act(severity)
if(severity >= 3) // turret dies if an explosion touches it!
- del(src)
+ qdel(src)
else
src.die()
@@ -418,7 +418,7 @@ Status: []
"},
invisibility=0
src.spark_system.start() // creates some sparks because they look cool
src.density=1
- del(cover) // deletes the cover - no need on keeping it there!
+ qdel(cover) // deletes the cover - no need on keeping it there!
diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm
index 826fafcf1b6..a0b2b20ebee 100644
--- a/code/game/machinery/shieldgen.dm
+++ b/code/game/machinery/shieldgen.dm
@@ -92,13 +92,13 @@
switch(severity)
if(1.0)
if (prob(75))
- del(src)
+ qdel(src)
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
if(3.0)
if (prob(25))
- del(src)
+ qdel(src)
return
/obj/machinery/shield/emp_act(severity)
@@ -164,7 +164,7 @@
/obj/machinery/shieldgen/Del()
for(var/obj/machinery/shield/shield_tile in deployed_shields)
- del(shield_tile)
+ qdel(shield_tile)
..()
diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm
index b23ea160cb2..ec282f5096f 100644
--- a/code/game/machinery/suit_storage_unit.dm
+++ b/code/game/machinery/suit_storage_unit.dm
@@ -78,12 +78,12 @@
if(1.0)
if(prob(50))
src.dump_everything() //So suits dont survive all the time
- del(src)
+ qdel(src)
return
if(2.0)
if(prob(50))
src.dump_everything()
- del(src)
+ qdel(src)
return
else
return
diff --git a/code/game/machinery/turrets.dm b/code/game/machinery/turrets.dm
index d0bcdbb3bef..ee400989874 100644
--- a/code/game/machinery/turrets.dm
+++ b/code/game/machinery/turrets.dm
@@ -301,7 +301,7 @@
sleep(3)
flick("explosion", src)
spawn(13)
- del(src)
+ qdel(src)
/obj/machinery/turretid
name = "turret deactivation control"
diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm
index ca01bfca19a..bed2f78b663 100644
--- a/code/game/machinery/vending.dm
+++ b/code/game/machinery/vending.dm
@@ -78,11 +78,11 @@
/obj/machinery/vending/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
return
if(3.0)
if(prob(25))
diff --git a/code/game/mecha/mecha_wreckage.dm b/code/game/mecha/mecha_wreckage.dm
index e9303f0c605..d1d9c8d0eba 100644
--- a/code/game/mecha/mecha_wreckage.dm
+++ b/code/game/mecha/mecha_wreckage.dm
@@ -23,7 +23,7 @@
/obj/effect/decal/mecha_wreckage/ex_act(severity)
if(severity < 2)
spawn
- del src
+ qdel(src)
return
/obj/effect/decal/mecha_wreckage/bullet_act(var/obj/item/projectile/Proj)
diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm
index 60f392c57ea..21d39aec1b8 100644
--- a/code/game/objects/effects/aliens.dm
+++ b/code/game/objects/effects/aliens.dm
@@ -58,7 +58,7 @@
/obj/effect/alien/resin/proc/healthcheck()
if(health <=0)
density = 0
- del(src)
+ qdel(src)
return
/obj/effect/alien/resin/bullet_act(var/obj/item/projectile/Proj)
@@ -255,13 +255,13 @@ Alien plants should do something if theres a lot of poison
/obj/effect/alien/weeds/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
if(3.0)
if (prob(5))
- del(src)
+ qdel(src)
return
/obj/effect/alien/weeds/attackby(var/obj/item/weapon/W, var/mob/user)
diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm
index d8df24484f2..f046ab3a867 100644
--- a/code/game/objects/effects/effect_system.dm
+++ b/code/game/objects/effects/effect_system.dm
@@ -523,7 +523,7 @@ steam.start() -- spawns the effect
number = n
cardinals = c
- chemholder.reagents.add_reagent("mercury", 50)
+ chemholder.reagents.add_reagent("space_drugs", rand(1,10))
if(istype(loca, /turf/))
location = loca
@@ -1005,7 +1005,7 @@ steam.start() -- spawns the effect
ex_act(severity)
- del(src)
+ qdel(src)
blob_act()
del(src)
diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm
index f7f4cd8b482..bf799d43e04 100644
--- a/code/game/objects/effects/glowshroom.dm
+++ b/code/game/objects/effects/glowshroom.dm
@@ -143,15 +143,15 @@
/obj/effect/glowshroom/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
return
if(3.0)
if (prob(5))
- del(src)
+ qdel(src)
return
else
return
diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm
index a8fb8912331..84914a5cf48 100644
--- a/code/game/objects/effects/spiders.dm
+++ b/code/game/objects/effects/spiders.dm
@@ -11,13 +11,13 @@
/obj/effect/spider/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
if(3.0)
if (prob(5))
- del(src)
+ qdel(src)
return
/obj/effect/spider/attackby(var/obj/item/weapon/W, var/mob/user)
diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm
index 2f2c3a5dbd0..6eb4c0bafed 100644
--- a/code/game/objects/items.dm
+++ b/code/game/objects/items.dm
@@ -46,15 +46,15 @@
/obj/item/ex_act(severity)
switch(severity)
if(1.0)
- del(src)
+ qdel(src)
return
if(2.0)
if (prob(50))
- del(src)
+ qdel(src)
return
if(3.0)
if (prob(5))
- del(src)
+ qdel(src)
return
else
return
diff --git a/code/game/objects/items/devices/PDA/PDA.dm b/code/game/objects/items/devices/PDA/PDA.dm
index 7a365a0d959..58036ea0d87 100755
--- a/code/game/objects/items/devices/PDA/PDA.dm
+++ b/code/game/objects/items/devices/PDA/PDA.dm
@@ -136,13 +136,13 @@ var/global/list/obj/item/device/pda/PDAs = list()
/obj/item/device/pda/syndicate
default_cartridge = /obj/item/weapon/cartridge/syndicate
- icon_state = "pda-syn"
+ icon_state = "pda-syndi"
name = "Military PDA"
owner = "John Doe"
hidden = 1
/obj/item/device/pda/chaplain
- icon_state = "pda-holy"
+ icon_state = "pda-chaplain"
ttone = "holy"
/obj/item/device/pda/lawyer
@@ -158,7 +158,7 @@ var/global/list/obj/item/device/pda/PDAs = list()
icon_state = "pda-robot"
/obj/item/device/pda/librarian
- icon_state = "pda-libb"
+ icon_state = "pda-library"
desc = "A portable microcomputer by Thinktronic Systems, LTD. This is model is a WGW-11 series e-reader."
note = "Congratulations, your station has chosen the Thinktronic 5290 WGW-11 Series E-reader and Personal Data Assistant!"
silent = 1 //Quiet in the library!
@@ -172,19 +172,19 @@ var/global/list/obj/item/device/pda/PDAs = list()
icon_state = "pda-chef"
/obj/item/device/pda/bar
- icon_state = "pda-bar"
+ icon_state = "pda-bartender"
/obj/item/device/pda/atmos
default_cartridge = /obj/item/weapon/cartridge/atmos
- icon_state = "pda-atmo"
+ icon_state = "pda-atmos"
/obj/item/device/pda/chemist
default_cartridge = /obj/item/weapon/cartridge/chemistry
- icon_state = "pda-chem"
+ icon_state = "pda-chemistry"
/obj/item/device/pda/geneticist
default_cartridge = /obj/item/weapon/cartridge/medical
- icon_state = "pda-gene"
+ icon_state = "pda-genetics"
// Special AI/pAI PDAs that cannot explode.
diff --git a/code/game/objects/items/devices/megaphone.dm b/code/game/objects/items/devices/megaphone.dm
index 9fcc90b7e63..0d12f8262b6 100644
--- a/code/game/objects/items/devices/megaphone.dm
+++ b/code/game/objects/items/devices/megaphone.dm
@@ -19,8 +19,8 @@
if(!ishuman(user))
user << "\red You don't know how to use this!"
return
- if(user.mind.assigned_role == "Mime")
- user << "\red Being a mime, you really shouldn't use this."
+ if(user:miming || user.silent)
+ user << "\red You find yourself unable to speak at all."
return
if(spamcheck)
user << "\red \The [src] needs to recharge!"
diff --git a/code/game/objects/items/devices/radio/radio.dm b/code/game/objects/items/devices/radio/radio.dm
index 432710a5bea..be7e314193d 100644
--- a/code/game/objects/items/devices/radio/radio.dm
+++ b/code/game/objects/items/devices/radio/radio.dm
@@ -245,7 +245,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use
//#### Grab the connection datum ####//
var/datum/radio_frequency/connection = null
- testing("[src]: talk_into([M], [message], [channel])")
+ //testing("[src]: talk_into([M], [message], [channel])")
if(channel == "headset")
channel = null
if(channel) // If a channel is specified, look for it.
diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm
index 6e1c608cb2f..0a5bb26ad83 100644
--- a/code/game/objects/items/latexballoon.dm
+++ b/code/game/objects/items/latexballoon.dm
@@ -30,10 +30,10 @@
burst()
switch(severity)
if (1)
- del(src)
+ qdel(src)
if (2)
if (prob(50))
- del(src)
+ qdel(src)
/obj/item/latexballon/bullet_act()
burst()
diff --git a/code/game/objects/items/weapons/RPD.dm b/code/game/objects/items/weapons/RPD.dm
deleted file mode 100644
index 52ebc04f3bc..00000000000
--- a/code/game/objects/items/weapons/RPD.dm
+++ /dev/null
@@ -1,426 +0,0 @@
-//This file was auto-corrected by findeclaration.exe on 25.5.2012 20:42:32
-
-/*
-CONTAINS:
-RPD
-*/
-#define PIPE_BINARY 0
-#define PIPE_BENT 1
-#define PIPE_TRINARY 2
-#define PIPE_UNARY 3
-
-/datum/pipe_info
- var/id=-1
- var/dir=SOUTH
- var/dirtype=PIPE_BINARY
- var/icon = 'icons/obj/pipe-item.dmi'
- var/icon_state=""
- var/selected=0
-
-/datum/pipe_info/New(var/pid,var/direction,var/dt)
- src.id=pid
- src.icon_state=pipeID2State[pid+1]
- src.dir=direction
- src.dirtype=dt
-
-/datum/pipe_info/proc/Render(var/dispenser,var/label)
- return "[label]"
-
-/datum/pipe_info/meter
- icon = 'icons/obj/meter.dmi'
- icon_state = "meterX"
-
-/datum/pipe_info/meter/New()
- return
-
-/datum/pipe_info/meter/Render(var/dispenser,var/label)
- return "[label]"
-
-var/global/list/disposalpipeID2State=list(
- "pipe-s",
- "pipe-c",
- "pipe-j1",
- "pipe-j2",
- "pipe-y",
- "pipe-t",
- "condisposal",
- "outlet",
- "intake",
- "pipe-j1s",
- "pipe-j2s"
-)
-/datum/pipe_info/disposal
- icon = 'icons/obj/pipes/disposal.dmi'
- icon_state = "meterX"
-
-/datum/pipe_info/disposal/New(var/pid,var/dt)
- src.id=pid
- src.icon_state=disposalpipeID2State[pid+1]
- src.dir=2
- src.dirtype=dt
- if(pid<6 || pid>8)
- icon_state = "con[icon_state]"
-
-/datum/pipe_info/disposal/Render(var/dispenser,var/label)
- return "[label]"
-
-var/global/list/RPD_recipes=list(
- "Regular Pipes" = list(
- "Pipe" = new /datum/pipe_info(0, 1, PIPE_BINARY),
- "Bent Pipe" = new /datum/pipe_info(1, 5, PIPE_BENT),
- "Manifold" = new /datum/pipe_info(5, 1, PIPE_TRINARY),
- "Manual Valve" = new /datum/pipe_info(8, 1, PIPE_BINARY),
- "Digital Valve" = new /datum/pipe_info(18, 1, PIPE_BINARY),
- "Pipe Cap" = new /datum/pipe_info(21, 1, PIPE_UNARY),
- "4-Way Manifold" = new /datum/pipe_info(20,-1, PIPE_BINARY),
- "Manual T-Valve" = new /datum/pipe_info(19, 2, PIPE_TRINARY),
- ),
- "Devices"=list(
- "Connector" = new /datum/pipe_info(4, 1, PIPE_UNARY),
- "Unary Vent" = new /datum/pipe_info(7, 1, PIPE_UNARY),
- "Gas Pump" = new /datum/pipe_info(9, 1, PIPE_UNARY),
- "Passive Gate" = new /datum/pipe_info(15,1, PIPE_UNARY),
- "Volume Pump" = new /datum/pipe_info(16,1, PIPE_UNARY),
- "Scrubber" = new /datum/pipe_info(10,1, PIPE_UNARY),
- "Meter" = new /datum/pipe_info/meter(),
- "Gas Filter" = new /datum/pipe_info(13,1, PIPE_TRINARY),
- "Gas Mixer" = new /datum/pipe_info(14,1, PIPE_TRINARY),
- ),
- "Heat Exchange" = list(
- "Pipe" = new /datum/pipe_info(2,1, PIPE_BINARY),
- "Bent Pipe" = new /datum/pipe_info(3,5, PIPE_BENT),
- "Junction" = new /datum/pipe_info(6,1, PIPE_BINARY),
- "Heat Exchanger" = new /datum/pipe_info(17,1, PIPE_UNARY),
- ),
- "Insulated Pipes" = list(
- "Pipe" = new /datum/pipe_info(11,1, PIPE_BINARY),
- "Bent Pipe" = new /datum/pipe_info(12,5, PIPE_BENT),
- ),
- "Disposal Pipes" = list(
- "Pipe" = new /datum/pipe_info/disposal(0, PIPE_BINARY),
- "Bent Pipe" = new /datum/pipe_info/disposal(1, PIPE_BENT),
- "Junction" = new /datum/pipe_info/disposal(2, PIPE_TRINARY),
- "Y-Junction" = new /datum/pipe_info/disposal(3, PIPE_TRINARY),
- "Trunk" = new /datum/pipe_info/disposal(4, PIPE_TRINARY),
- "Bin" = new /datum/pipe_info/disposal(5, PIPE_UNARY),
- "Outlet" = new /datum/pipe_info/disposal(6, PIPE_UNARY),
- "Chute" = new /datum/pipe_info/disposal(7, PIPE_UNARY),
- )
-)
-/obj/item/weapon/pipe_dispenser
- name = "Rapid Piping Device (RPD)"
- desc = "A device used to rapidly pipe things."
- icon = 'icons/obj/items.dmi'
- icon_state = "rpd"
- opacity = 0
- density = 0
- anchored = 0.0
- flags = FPRINT | TABLEPASS| CONDUCT
- force = 10.0
- throwforce = 10.0
- throw_speed = 1
- throw_range = 5
- w_class = 3.0
- m_amt = 50000
- origin_tech = "engineering=4;materials=2"
- var/datum/effect/effect/system/spark_spread/spark_system
- var/working = 0
- var/p_type = 0
- var/p_conntype = 0
- var/p_dir = 1
- var/p_class = 0
- var/p_disposal = 0
-
-/obj/item/weapon/pipe_dispenser/New()
- src.spark_system = new /datum/effect/effect/system/spark_spread
- spark_system.set_up(5, 0, src)
- spark_system.attach(src)
-
-/obj/item/weapon/pipe_dispenser/attack_self(mob/user as mob)
- show_menu(user)
-
-/obj/item/weapon/pipe_dispenser/proc/render_dir_img(var/_dir,var/pic,var/title)
- var/selected=""
- if(_dir==p_dir)
- selected=" class=\"selected\""
- return "
"
-
-/obj/item/weapon/pipe_dispenser/proc/show_menu(mob/user as mob)
- if(!user || !src) return 0
- var/dat = {"Type
-Utilities:
-"}
- var/icon/preview=null
- for(var/category in RPD_recipes)
- dat += "[category]:"
- var/list/cat=RPD_recipes[category]
- for(var/label in cat)
- var/datum/pipe_info/I = cat[label]
- var/found=0
- if(I.id == p_type)
- if(p_class==0 && I.type==/datum/pipe_info)
- found=1
- else if(p_class==2 && I.type==/datum/pipe_info/disposal)
- found=1
- if(found)
- preview=new /icon(I.icon,I.icon_state)
- dat += I.Render(src,label)
- dat += "
"
- var/dirsel="Direction
"
- switch(p_conntype)
- if(PIPE_BINARY) // Straight, N-S, W-E
- if(preview)
- user << browse_rsc(new /icon(preview, dir=NORTH), "vertical.png")
- user << browse_rsc(new /icon(preview, dir=EAST), "horizontal.png")
-
- dirsel += ""
- dirsel += render_dir_img(1,"vertical.png","Vertical")
- dirsel += render_dir_img(4,"horizontal.png","Horizontal")
- dirsel += "
"
- else
- dirsel+={"
-
- ↕
- ↔
-
- "}
- if(PIPE_BENT) // Bent, N-W, N-E etc
- if(preview)
- user << browse_rsc(new /icon(preview, dir=NORTHWEST), "nw.png")
- user << browse_rsc(new /icon(preview, dir=NORTHEAST), "ne.png")
- user << browse_rsc(new /icon(preview, dir=SOUTHWEST), "sw.png")
- user << browse_rsc(new /icon(preview, dir=SOUTHEAST), "se.png")
-
- dirsel += ""
- dirsel += render_dir_img(9,"nw.png","West to North")
- dirsel += render_dir_img(5,"ne.png","North to East")
- dirsel += "
"
- dirsel += render_dir_img(10,"sw.png","South to West")
- dirsel += render_dir_img(6,"se.png","East to South")
- dirsel += "
"
- else
- dirsel+={"
-
- ╝
- ╚
-
- ╗
- ╔
-
- "}
- if(PIPE_TRINARY) // Manifold
- if(preview)
- user << browse_rsc(new /icon(preview, dir=NORTH), "s.png")
- user << browse_rsc(new /icon(preview, dir=EAST), "w.png")
- user << browse_rsc(new /icon(preview, dir=SOUTH), "n.png")
- user << browse_rsc(new /icon(preview, dir=WEST), "e.png")
-
- dirsel += ""
- dirsel += render_dir_img(1,"s.png","West South East")
- dirsel += render_dir_img(4,"w.png","North West South")
- dirsel += "
"
- dirsel += render_dir_img(2,"n.png","East North West")
- dirsel += render_dir_img(8,"e.png","South East North")
- dirsel += "
"
- else
- dirsel+={"
-
- ╦
- ╣
-
- ╩
- ╠
-
- "}
- if(PIPE_UNARY) // Unary
- if(preview)
- user << browse_rsc(new /icon(preview, dir=NORTH), "n.png")
- user << browse_rsc(new /icon(preview, dir=EAST), "e.png")
- user << browse_rsc(new /icon(preview, dir=SOUTH), "s.png")
- user << browse_rsc(new /icon(preview, dir=WEST), "w.png")
-
- dirsel += ""
- dirsel += render_dir_img(NORTH,"n.png","North")
- dirsel += render_dir_img(EAST, "e.png","East")
- dirsel += render_dir_img(SOUTH,"s.png","South")
- dirsel += render_dir_img(WEST, "w.png","West")
- dirsel += "
"
- else
- dirsel+={"
-
- ↑
- →
- ↓
- ←
-
- "}
- dat = {"
-
-
- [name]
-
-
-
-[dirsel][dat]
-
-
-"}
- user << browse(dat, "window=pipedispenser")
- onclose(user, "pipedispenser")
- return
-
-/obj/item/weapon/pipe_dispenser/Topic(href, href_list)
- if(usr.stat || usr.restrained())
- usr << browse(null, "window=pipedispenser")
- return
- usr.set_machine(src)
- src.add_fingerprint(usr)
- if(href_list["setdir"])
- p_dir= text2num(href_list["setdir"])
- show_menu(usr)
-
- if(href_list["eatpipes"])
- p_class = -1
- p_conntype=-1
- p_dir=1
- src.spark_system.start()
- playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- show_menu(usr)
-
- if(href_list["makepipe"])
- p_type = text2num(href_list["makepipe"])
- p_dir = text2num(href_list["dir"])
- p_conntype = text2num(href_list["type"])
- p_class = 0
- src.spark_system.start()
- playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- show_menu(usr)
-
- if(href_list["makemeter"])
- p_class = 1
- p_conntype=-1
- p_dir=1
- src.spark_system.start()
- playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- show_menu(usr)
-
- if(href_list["dmake"])
- p_type = text2num(href_list["dmake"])
- p_conntype = text2num(href_list["type"])
- p_dir = 1
- p_class = 2
- src.spark_system.start()
- playsound(src.loc, 'sound/effects/pop.ogg', 50, 0)
- show_menu(usr)
-
-
-/obj/item/weapon/pipe_dispenser/afterattack(atom/A, mob/user)
- if(!isrobot(user) && !ishuman(user))
- return 0
- if(istype(A,/area/shuttle)||istype(A,/turf/space/transit))
- return 0
-
- switch(p_class)
- if(-1) // Eating pipes
- // Must click on an actual pipe or meter.
- if(istype(A,/obj/item/pipe) || istype(A,/obj/item/pipe_meter) || istype(A,/obj/structure/disposalconstruct))
- user << "Destroying Pipe..."
- playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 5))
- activate()
- del(A)
- return 1
- return 0
-
- // Avoid spewing errors about invalid mode -1 when clicking on stuff that aren't pipes.
- user << "The [src]'s error light flickers. Perhaps you need to only use it on pipes and pipe meters?"
- return 0
- if(0)
- if(!(istype(A, /turf)))
- return 0
- user << "Building Pipes ..."
- playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 20))
- activate()
- var/obj/item/pipe/P = new (A, pipe_type=p_type, dir=p_dir)
- P.update()
- P.add_fingerprint(usr)
- return 1
- return 0
-
- if(1)
- if(!(istype(A, /turf)))
- return 0
- user << "Building Meter..."
- playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 20))
- activate()
- new /obj/item/pipe_meter(A)
- return 1
- return 0
-
- if(2)
- if(!(istype(A, /turf)))
- return 0
- user << "Building Pipes..."
- playsound(src.loc, 'sound/machines/click.ogg', 50, 1)
- if(do_after(user, 20))
- activate()
- var/obj/structure/disposalconstruct/C = new (A)
- // This may still produce runtimes, but I checked and /obj/structure/disposalconstruct
- // DOES have a dir property, inherited from /obj/structure. - N3X
- C.dir=p_dir
- switch(p_type)
- if(0)
- C.ptype = 0
- if(1)
- C.ptype = 1
- if(2)
- C.ptype = 2
- if(3)
- C.ptype = 4
- if(4)
- C.ptype = 5
- if(5)
- C.ptype = 6
- C.density = 1
- if(6)
- C.ptype = 7
- C.density = 1
- if(7)
- C.ptype = 8
- C.density = 1
- C.add_fingerprint(usr)
- C.update()
- return 1
- return 0
- else
- ..()
- return 0
-
-
-/obj/item/weapon/pipe_dispenser/proc/activate()
- playsound(src.loc, 'sound/items/Deconstruct.ogg', 50, 1)
-
diff --git a/code/game/objects/items/weapons/explosives.dm b/code/game/objects/items/weapons/explosives.dm
index 014793357e9..edf71953e33 100644
--- a/code/game/objects/items/weapons/explosives.dm
+++ b/code/game/objects/items/weapons/explosives.dm
@@ -26,12 +26,21 @@
if(user.mind)
if(user.mind.special_role)
var/role = lowertext(user.mind.special_role)
- if(role == "traitor" || role == "syndicate")
+ if(role == "traitor" || role == "syndicate" || role == "syndicate commando")
message_say = "FOR THE SYNDICATE!"
else if(role == "changeling")
message_say = "FOR THE HIVE!"
else if(role == "cultist")
message_say = "FOR NARSIE!"
+ else if(role == "ninja")
+ message_say = "FOR THE CLAN!"
+ else if(role == "wizard")
+ message_say = "FOR THE FEDERATION!"
+ else if(role =="revolutionary" || role == "head revolutionary")
+ message_say = "FOR THE REVOLOUTION!"
+ else if(role == "death commando" || role == "emergency response team")
+ message_say = "FOR NANOTRASEN!"
+
user.say(message_say)
target = user
explode(get_turf(user))
diff --git a/code/game/objects/items/weapons/extinguisher.dm b/code/game/objects/items/weapons/extinguisher.dm
index 3a57eae84c2..ecba85ad365 100644
--- a/code/game/objects/items/weapons/extinguisher.dm
+++ b/code/game/objects/items/weapons/extinguisher.dm
@@ -1,3 +1,4 @@
+
/obj/item/weapon/extinguisher
name = "fire extinguisher"
desc = "A traditional red fire extinguisher."
@@ -13,18 +14,18 @@
force = 10
m_amt = 90
attack_verb = list("slammed", "whacked", "bashed", "thunked", "battered", "bludgeoned", "thrashed")
- var/list/reagents_to_log=list(
- "fuel"= "welder fuel",
- "plasma"= "plasma",
- "pacid"= "polytrinic acid",
- "sacid"= "sulphuric acid"
- )
-
var/max_water = 50
var/last_use = 1.0
var/safety = 1
var/sprite_name = "fire_extinguisher"
+ reagents_to_log=list(
+ "fuel" = "welder fuel",
+ "plasma"= "plasma",
+ "pacid" = "polytrinic acid",
+ "sacid" = "sulphuric acid"
+ )
+
/obj/item/weapon/extinguisher/mini
name = "fire extinguisher"
desc = "A light and compact fibreglass-framed model fire extinguisher."
diff --git a/code/game/objects/items/weapons/implants/implant.dm b/code/game/objects/items/weapons/implants/implant.dm
index 0f85257cd32..c6f96632c00 100644
--- a/code/game/objects/items/weapons/implants/implant.dm
+++ b/code/game/objects/items/weapons/implants/implant.dm
@@ -127,13 +127,10 @@ Implant Specifics:
"}
/obj/item/weapon/implant/explosive
name = "explosive implant"
desc = "A military grade micro bio-explosive. Highly dangerous."
+ var/elevel = "Localized Limb"
var/phrase = "supercalifragilisticexpialidocious"
icon_state = "implant_evil"
- New()
- ..()
- phrase=GenerateKey()
-
get_data()
var/dat = {"
Implant Specifications:
@@ -161,20 +158,50 @@ Implant Specifics:
"}
activate()
if (malfunction == MALFUNCTION_PERMANENT)
return
+
+ var/need_gib = null
if(istype(imp_in, /mob/))
var/mob/T = imp_in
-
message_admins("Explosive implant triggered in [T] ([T.key]). (JMP) ")
log_game("Explosive implant triggered in [T] ([T.key]).")
+ need_gib = 1
+
+ if(ishuman(imp_in))
+ if (elevel == "Localized Limb")
+ if(part) //For some reason, small_boom() didn't work. So have this bit of working copypaste.
+ imp_in.visible_message("\red Something beeps inside [imp_in][part ? "'s [part.display_name]" : ""]!")
+ playsound(loc, 'sound/items/countdown.ogg', 75, 1, -3)
+ sleep(25)
+ if (istype(part,/datum/organ/external/chest) || \
+ istype(part,/datum/organ/external/groin) || \
+ istype(part,/datum/organ/external/head))
+ part.createwound(BRUISE, 60) //mangle them instead
+ explosion(get_turf(imp_in), -1, -1, 2, 3)
+ del(src)
+ else
+ explosion(get_turf(imp_in), -1, -1, 2, 3)
+ part.droplimb(1)
+ del(src)
+ if (elevel == "Destroy Body")
+ explosion(get_turf(T), -1, 0, 1, 6)
+ T.gib()
+ if (elevel == "Full Explosion")
+ explosion(get_turf(T), 0, 1, 3, 6)
+ T.gib()
+
+ else
+ explosion(get_turf(imp_in), 0, 1, 3, 6)
+
+ if(need_gib)
+ imp_in.gib()
- T.gib()
- explosion(get_turf(imp_in), 1, 3, 4, 6, 3)
var/turf/t = get_turf(imp_in)
if(t)
t.hotspot_expose(3500,125)
implanted(mob/source as mob)
+ elevel = alert("What sort of explosion would you prefer?", "Implant Intent", "Localized Limb", "Destroy Body", "Full Explosion")
phrase = input("Choose activation phrase:") as text
var/list/replacechars = list("'" = "","\"" = "",">" = "","<" = "","(" = "",")" = "")
phrase = sanitize_simple(phrase, replacechars)
@@ -219,7 +246,7 @@ Implant Specifics:
"}
part.createwound(BRUISE, 60) //mangle them instead
else
part.droplimb(1)
- explosion(get_turf(imp_in), -1, -1, 2, 3, 3)
+ explosion(get_turf(imp_in), -1, -1, 2, 3)
del(src)
/obj/item/weapon/implant/chem
@@ -528,3 +555,4 @@ the implant may become unstable and either pre-maturely inject the subject or si
/obj/item/weapon/implant/cortical
name = "cortical stack"
desc = "A fist-sized mass of biocircuits and chips."
+ icon_state = "implant_evil"
diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm
index 9913dadf8e8..053e2fc9297 100644
--- a/code/game/objects/items/weapons/manuals.dm
+++ b/code/game/objects/items/weapons/manuals.dm
@@ -703,7 +703,7 @@
/obj/item/weapon/book/manual/chef_recipes
name = "Chef Recipes"
icon_state = "cooked_book"
- author = "Lord Frenrir Cageth"
+ author = "Victoria Ponsonby"
title = "Chef Recipes"
/*dat = {"
@@ -720,32 +720,35 @@
Food for Dummies
Here is a guide on basic food recipes and also how to not poison your customers accidentally.
+ Basics:
+ Knead an egg and some flour to make dough. Bake that to make a bun or flatten and cut it.
+
Burger:
- Put 1 meat and 1 flour into the microwave and turn it on. Then wait.
+ Put a bun and some meat into the microwave and turn it on. Then wait.
Bread:
- Put 3 flour into the microwave and then wait.
+ Put some dough and an egg into the microwave and then wait.
Waffles:
- Add 2 flour and 2 egg to the microwave and then wait.
+ Add two lumps of dough and 10u of sugar to the microwave and then wait.
Popcorn:
Add 1 corn to the microwave and wait.
Meat Steak:
- Put 1 meat, 1 unit of salt and 1 unit of pepper into the microwave and wait.
+ Put a slice of meat, 1 unit of salt and 1 unit of pepper into the microwave and wait.
Meat Pie:
- Put 1 meat and 2 flour into the microwave and wait.
+ Put a flattened piece of dough and some meat into the microwave and wait.
- Boiled Spagetti:
- Put 1 spagetti and 5 units of water into the microwave and wait.
+ Boiled Spaghetti:
+ Put the spaghetti (processed flour) and 5 units of water into the microwave and wait.
Donuts:
- Add 1 egg and 1 flour to the microwave and wait.
+ Add some dough and 5 units of sugar to the microwave and wait.
Fries:
- Add one potato to the processor and wait.
+ Add one potato to the processor, then bake them in the microwave.
@@ -1045,4 +1048,4 @@