diff --git a/code/datums/diseases/cold.dm b/code/datums/diseases/cold.dm
index ef9afc2ed9e..015db200758 100644
--- a/code/datums/diseases/cold.dm
+++ b/code/datums/diseases/cold.dm
@@ -18,7 +18,11 @@
affected_mob << "\blue You feel better."
cure()
return
- if(prob(1) && prob(10))
+ if(affected_mob.lying && prob(10))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
+ if(prob(1) && prob(5))
affected_mob << "\blue You feel better."
cure()
return
@@ -35,9 +39,14 @@
affected_mob << "\blue You feel better."
cure()
return
- if(prob(1) && prob(10))
+ if(affected_mob.lying && prob(5))
affected_mob << "\blue You feel better."
cure()
+ return
+ if(prob(1) && prob(1))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
if(prob(1))
affected_mob.emote("sneeze")
if(prob(1))
@@ -49,4 +58,5 @@
if(prob(1) && prob(50))
if(!affected_mob.resistances.Find(/datum/disease/flu))
var/datum/disease/Flu = new /datum/disease/flu(0)
- affected_mob.contract_disease(Flu,1)
\ No newline at end of file
+ affected_mob.contract_disease(Flu,1)
+ cure()
\ No newline at end of file
diff --git a/code/datums/diseases/retrovirus.dm b/code/datums/diseases/retrovirus.dm
index e0c1e8a4d25..bd2b96b69d8 100644
--- a/code/datums/diseases/retrovirus.dm
+++ b/code/datums/diseases/retrovirus.dm
@@ -3,8 +3,7 @@
max_stages = 4
spread = "Contact"
spread_type = CONTACT_GENERAL
- cure = "Mutagen & Spaceacillin"
- cure_id = list("mutagen", "spaceacillin")
+ cure = "Rest or an injection of ryetalyn"
cure_chance = 6
agent = ""
affected_species = list("Human")
@@ -14,13 +13,31 @@
stage_prob = 2
var/SE
var/UI
+ var/restcure = 0
New()
..()
agent = "Virus class [pick("A","B","C","D","E","F")][pick("A","B","C","D","E","F")]-[rand(50,300)]"
+ if(prob(40))
+ cure_id = list("ryetalyn")
+ else
+ restcure = 1
+
+
+
+
/datum/disease/dna_retrovirus/stage_act()
..()
switch(stage)
if(1)
+ if(restcure)
+ if(affected_mob.sleeping && prob(30))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
+ if(affected_mob.lying && prob(20))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
if (prob(8))
affected_mob << "\red Your head hurts."
if (prob(9))
@@ -28,6 +45,15 @@
if (prob(9))
affected_mob << "\red You feel angry."
if(2)
+ if(restcure)
+ if(affected_mob.sleeping && prob(20))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
+ if(affected_mob.lying && prob(10))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
if (prob(8))
affected_mob << "\red Your skin feels loose."
if (prob(10))
@@ -38,6 +64,15 @@
if (prob(4))
affected_mob << "\red Your stomach churns."
if(3)
+ if(restcure)
+ if(affected_mob.sleeping && prob(20))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
+ if(affected_mob.lying && prob(10))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
if (prob(10))
affected_mob << "\red Your entire body vibrates."
@@ -48,6 +83,15 @@
scramble(0, affected_mob, rand(15,45))
if(4)
+ if(restcure)
+ if(affected_mob.sleeping && prob(10))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
+ if(affected_mob.lying && prob(5))
+ affected_mob << "\blue You feel better."
+ cure()
+ return
if (prob(60))
if(prob(50))
scramble(1, affected_mob, rand(50,75))
diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm
index 7d7d6ac0b3c..8241bb70954 100644
--- a/code/defines/obj/supplypacks.dm
+++ b/code/defines/obj/supplypacks.dm
@@ -206,7 +206,7 @@
name = "Seeds Crate"
contains = list("/obj/item/seeds/chiliseed",
"/obj/item/seeds/berryseed",
- "/obj/item/seeds/corn",
+ "/obj/item/seeds/cornseed",
"/obj/item/seeds/eggplantseed",
"/obj/item/seeds/tomatoseed",
"/obj/item/seeds/soyaseed",
diff --git a/code/game/atom_procs.dm b/code/game/atom_procs.dm
index 8181e67e501..35bfdcec06c 100644
--- a/code/game/atom_procs.dm
+++ b/code/game/atom_procs.dm
@@ -372,7 +372,7 @@
if(C.stat != 2)
var/t_him = "it"
if (src.gender == MALE)
- t_him = "him"
+ t_him = "his"
else if (src.gender == FEMALE)
t_him = "her"
var/u_him = "it"
@@ -463,8 +463,9 @@
else
if (istype(src, /obj/screen))
usr.prev_move = usr.next_move
+ usr:lastDblClick = world.time + 2
if (usr.next_move < world.time)
- usr.next_move = world.time + 10
+ usr.next_move = world.time + 2
else
return
if (!( usr.restrained() ))
diff --git a/code/game/machinery/cloning.dm b/code/game/machinery/cloning.dm
index 84de13c6ee5..890a0fd1f6c 100644
--- a/code/game/machinery/cloning.dm
+++ b/code/game/machinery/cloning.dm
@@ -282,7 +282,7 @@
//Can't clone without someone to clone. Or a pod. Or if the pod is busy. Or full of gibs.
if ((!selected) || (!src.pod1) || (src.pod1.occupant) || (src.pod1.mess))
src.temp = "Unable to initiate cloning cycle." // most helpful error message in THE HISTORY OF THE WORLD
- else if (src.pod1.growclone(selected, C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"]))
+ else if (src.pod1.growclone(selected, C.fields["name"], C.fields["UI"], C.fields["SE"], C.fields["mind"], C.fields["mrace"], C.fields["interface"]))
src.temp = "Cloning cycle activated."
src.records.Remove(C)
del(C)
@@ -322,6 +322,11 @@
R.fields["UI"] = subject.dna.uni_identity
R.fields["SE"] = subject.dna.struc_enzymes
+ // Preferences stuff
+ R.fields["interface"] = subject.UI
+
+
+
//Add an implant if needed
var/obj/item/weapon/implant/health/imp =locate(/obj/item/weapon/implant/health, subject)
if (isnull(imp))
@@ -426,7 +431,7 @@
//Clonepod
//Start growing a human clone in the pod!
-/obj/machinery/clonepod/proc/growclone(mob/ghost as mob, var/clonename, var/ui, var/se, var/mindref, var/mrace)
+/obj/machinery/clonepod/proc/growclone(mob/ghost as mob, var/clonename, var/ui, var/se, var/mindref, var/mrace, var/UI)
if (((!ghost) || (!ghost.client)) || src.mess || src.attempting)
return 0
@@ -473,6 +478,7 @@
ticker.minds += src.occupant.mind
// -- Mode/mind specific stuff goes here
+
switch(ticker.mode.name)
if ("revolution")
if (src.occupant.mind in ticker.mode:revolutionaries)
@@ -493,6 +499,9 @@
// -- End mode specific stuff
+ occupant:UI = UI
+
+
if (istype(ghost, /mob/dead/observer))
del(ghost) //Don't leave ghosts everywhere!!
diff --git a/code/game/objects/devices/PDA/PDA.dm b/code/game/objects/devices/PDA/PDA.dm
index 533d554f781..049ae00ff78 100644
--- a/code/game/objects/devices/PDA/PDA.dm
+++ b/code/game/objects/devices/PDA/PDA.dm
@@ -458,34 +458,57 @@
var/obj/item/device/pda/P = locate(href_list["target"])
- if (isnull(P)||P.toff || toff)
- return
+ if(istype(P, /obj/item/device/pda))
+ if (isnull(P)||P.toff || toff)
+ return
- if (last_text && world.time < last_text + 5)
- return
+ if (last_text && world.time < last_text + 5)
+ return
- last_text = world.time
+ last_text = world.time
- for (var/obj/machinery/message_server/MS in world)
- MS.send_pda_message("[P.owner]","[owner]","[t]")
+ for (var/obj/machinery/message_server/MS in world)
+ MS.send_pda_message("[P.owner]","[owner]","[t]")
- tnote += "→ To [P.owner]:
[t]
"
- P.tnote += "← From [owner]:
[t]
"
+ tnote += "→ To [P.owner]:
[t]
"
+ P.tnote += "← From [owner]:
[t]
"
- if (prob(15)) //Give the AI a chance of intercepting the message
- var/who = src.owner
- if(prob(50))
- who = P:owner
- for(var/mob/living/silicon/ai/ai in world)
- ai.show_message("Intercepted message from [who]: [t]")
+ if (prob(15)) //Give the AI a chance of intercepting the message
+ var/who = src.owner
+ if(prob(50))
+ who = P:owner
+ for(var/mob/living/silicon/ai/ai in world)
+ ai.show_message("Intercepted message from [who]: [t]")
+
+ if (!P.silent)
+ playsound(P.loc, 'twobeep.ogg', 50, 1)
+ for (var/mob/O in hearers(3, P.loc))
+ O.show_message(text("\icon[P] *[P.ttone]*"))
+
+ P.overlays = null
+ P.overlays += image('pda.dmi', "pda-r")
+
+ // pAI Message
+ else
+
+ tnote += "→ To [P]:
[t]
"
+ P.tnote += "← From [src]:
[t]
"
+
+
+ for (var/obj/machinery/message_server/MS in world)
+ MS.send_pda_message("[P]","[src]","[t]")
+
+ if (prob(15)) //Give the AI a chance of intercepting the message
+ var/who = src
+ if(prob(50))
+ who = P
+ for (var/mob/living/silicon/ai/ai in world)
+ ai.show_message("Intercepted message from [who]: [t]")
- if (!P.silent)
playsound(P.loc, 'twobeep.ogg', 50, 1)
- for (var/mob/O in hearers(3, P.loc))
- O.show_message(text("\icon[P] *[P.ttone]*"))
- P.overlays = null
- P.overlays += image('pda.dmi', "pda-r")
+
+
if("Send Honk")//Honk virus
if(istype(cartridge, /obj/item/weapon/cartridge/clown))//Cartridge checks are kind of unnecessary since everything is done through switch.
var/obj/item/device/pda/P = locate(href_list["target"])//Leaving it alone in case it may do something useful, I guess.
diff --git a/code/game/objects/items/item.dm b/code/game/objects/items/item.dm
index 637cc6a93b3..d8dec274d3c 100644
--- a/code/game/objects/items/item.dm
+++ b/code/game/objects/items/item.dm
@@ -123,7 +123,11 @@
else
user.u_equip(src)
else
+ if(istype(src.loc, /mob/living))
+ return
src.pickup(user)
+ user.lastDblClick = world.time + 2
+ user.next_move = world.time + 2
if (user.hand)
user.l_hand = src
@@ -155,6 +159,13 @@
return
else
user.u_equip(src)
+ else
+ if(istype(src.loc, /mob/living))
+ return
+ src.pickup(user)
+ user.lastDblClick = world.time + 2
+ user.next_move = world.time + 2
+
if (user.hand)
user.l_hand = src
else
diff --git a/code/modules/admin/verbs/randomverbs.dm b/code/modules/admin/verbs/randomverbs.dm
index 4c0dddb541f..ca750ad9e72 100644
--- a/code/modules/admin/verbs/randomverbs.dm
+++ b/code/modules/admin/verbs/randomverbs.dm
@@ -186,7 +186,7 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
for(var/mob/living/carbon/human/pos in world)
pos_crew += pos.real_name
crew = pick(pos_crew)
- switch(rand(1,12))
+ switch(rand(1,14))
if(1)
M << "\red THERE ARE [amount] [who2] ON THE STATION...LAWS UPDATED"
M.add_ion_law("THERE ARE [amount] [who2] ON THE STATION")
@@ -226,6 +226,9 @@ Would like to add a law like "Law x is _______" where x = a number, and _____ is
if(13)
M << "\red [crew] is [allergysev] to [allergy]. LAWS UPDATED"
M.add_ion_law("[crew] is [allergysev] to [allergy]. LAWS UPDATED")
+ if(14)
+ M << "\ref THE STATION IS [who2pref] [who2]"
+ M.add_ion_law("THE STATION IS [who2pref] [who2]")
diff --git a/icons/mob/alien.dmi b/icons/mob/alien.dmi
index 3a70e2946eb..4fa4196e9dd 100644
Binary files a/icons/mob/alien.dmi and b/icons/mob/alien.dmi differ