diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index d6fce9d1d9a..2bd03a3bd13 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -45,20 +45,21 @@ Stealth and Camouflage Items; /obj/item/clothing/mask/gas/voice:4:Voice Changer; /obj/item/clothing/glasses/thermal:4:Thermal Imaging Glasses; /obj/item/device/chameleon:4:Chameleon-Projector; -/obj/item/device/encryptionkey/traitor:3:Traitor Radio Key; -/obj/item/device/encryptionkey/binary:3:Binary Translator Key; /obj/item/weapon/stamperaser:1:Stamp Remover; Whitespace:Seperator; Devices and Tools; /obj/item/weapon/card/emag:4:Cryptographic Sequencer (Limited uses, almost full access); /obj/item/device/hacktool:3:Hacktool (Slow, but stealthy. Unlimited uses); /obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; +/obj/item/device/encryptionkey/traitor:3:Traitor Radio Key; +/obj/item/device/encryptionkey/binary:3:Binary Translator Key; +/obj/item/weapon/storage/syndie_kit/space:3:Space Suit; /obj/item/weapon/aiModule/syndicate:7:Hacked AI Upload Module; -/obj/item/device/radio/headset/traitor:3:Headset with Binary Translator; /obj/item/weapon/plastique:2:C-4 (Destroys walls); /obj/item/weapon/syndie/c4explosive:4:Low Power Explosive Charge, with Detonator; /obj/item/device/powersink:5:Powersink (DANGER!); /obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); +/obj/item/weapon/circuitboard/teleporter:20:Teleporter Circuit Board; Whitespace:Seperator; Implants; /obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; diff --git a/code/game/gamemodes/sandbox/sandbox.dm b/code/game/gamemodes/sandbox/sandbox.dm index a83a5e88904..e6f51b9dacb 100644 --- a/code/game/gamemodes/sandbox/sandbox.dm +++ b/code/game/gamemodes/sandbox/sandbox.dm @@ -4,6 +4,9 @@ required_players = 0 votable = 0 + uplink_welcome = "Syndicate Uplink Console:" + uplink_uses = 10 + /datum/game_mode/sandbox/announce() world << "The current game mode is - Sandbox!" world << "Build your own station with the sandbox-panel command!" diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 0a0b60d2367..8ed3f5ac66d 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -349,6 +349,7 @@ T.icon = R.icon T.w_class = R.w_class T.icon_state = R.icon_state + T.item_state = R.item_state T.origradio = R traitor_mob << "The Syndicate have cunningly disguised a Syndicate Uplink as your [R.name] [loc]. Simply dial the frequency [format_frequency(freq)] to unlock its hidden features." traitor_mob.mind.store_memory("Radio Freq: [format_frequency(freq)] ([R.name] [loc]).") diff --git a/code/game/objects/radio/radio.dm b/code/game/objects/radio/radio.dm index 6cb102391d0..285e8a2cb06 100644 --- a/code/game/objects/radio/radio.dm +++ b/code/game/objects/radio/radio.dm @@ -184,6 +184,7 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use var/obj/item/device/radio/R = src R.loc = T T.loc = usr + T.layer = R.layer R.layer = 0 if (usr.client) usr.client.screen -= R @@ -194,7 +195,6 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use usr.u_equip(R) usr.l_hand = T R.loc = T - T.layer = 20 T.attack_self(usr) return else if (href_list["talk"]) @@ -818,4 +818,4 @@ var/GLOBAL_RADIO_TYPE = 1 // radio type to use channels = op for (var/ch_name in op) secure_radio_connections[ch_name] = radio_controller.add_object(src, radiochannels[ch_name], RADIO_CHAT) - return + return diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm index a595ef4070b..574d09b1973 100644 --- a/code/modules/chemical/Chemistry-Reagents.dm +++ b/code/modules/chemical/Chemistry-Reagents.dm @@ -399,6 +399,9 @@ datum if(25 to INFINITY) M.Paralyse(20) M.drowsyness = max(M:drowsyness, 30) +// NO. +// if(50 to INFINITY) +// M:adjustToxLoss(0.1) data++ ..() return @@ -434,6 +437,8 @@ datum M.slurring = 0 M.confused = 0 M.jitteriness = 0 + if(50 to INFINITY) + M:adjustToxLoss(0.1) ..() return @@ -446,9 +451,13 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ if(M.losebreath >= 10) M.losebreath = max(10, M.losebreath-5) holder.remove_reagent(src.id, 0.2) + if(data >= 50) + M:adjustToxLoss(0.1) return space_drugs @@ -460,12 +469,16 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M.druggy = max(M.druggy, 15) if(isturf(M.loc) && !istype(M.loc, /turf/space)) if(M.canmove) if(prob(10)) step(M, pick(cardinal)) if(prob(7)) M:emote(pick("twitch","drool","moan","giggle")) holder.remove_reagent(src.id, 0.2) + if(data >= 50) + M:adjustToxLoss(0.2) return serotrotium @@ -593,6 +606,7 @@ datum if(M.canmove && istype(M.loc, /turf/space)) step(M, pick(cardinal)) if(prob(5)) M:emote(pick("twitch","drool","moan")) + M:adjustToxLoss(1) ..() return @@ -831,7 +845,6 @@ datum M.adjustToxLoss(100) M:antibodies |= M:virus2.antigen - ..() return @@ -851,8 +864,13 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M.mutations = 0 M.disabilities = 0 + switch(data) + if(50 to INFINITY) + M:adjustToxLoss(0.1) ..() return @@ -1153,10 +1171,14 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ if(M.bodytemperature > 310) M.bodytemperature = max(310, M.bodytemperature-20) else if(M.bodytemperature < 311) M.bodytemperature = min(310, M.bodytemperature+20) + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1169,10 +1191,14 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M.make_dizzy(1) if(!M.confused) M.confused = 1 M.confused = max(M.confused, 20) holder.remove_reagent(src.id, 0.2) + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1205,7 +1231,11 @@ datum if(M.stat == 2.0) return if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:heal_organ_damage(0,2) + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1220,7 +1250,11 @@ datum if(M.stat == 2.0) //THE GUY IS **DEAD**! BEREFT OF ALL LIFE HE RESTS IN PEACE etc etc. He does NOT metabolise shit anymore, god DAMN return if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:heal_organ_damage(0,3) + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1235,9 +1269,13 @@ datum if(M.stat == 2.0) return //See above, down and around. --Agouri if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:adjustOxyLoss(-2) if(holder.has_reagent("lexorin")) holder.remove_reagent("lexorin", 2) + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1252,9 +1290,13 @@ datum if(M.stat == 2.0) return if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:oxyloss = 0 if(holder.has_reagent("lexorin")) holder.remove_reagent("lexorin", 2) + if(data >= 50) + M:adjustToxLoss(0.2) ..() return @@ -1377,10 +1419,14 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:jitteriness = max(M:jitteriness-5,0) if(prob(80)) M:adjustBrainLoss(1) if(prob(50)) M:drowsyness = max(M:drowsyness, 3) if(prob(10)) M:emote("drool") + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1394,6 +1440,8 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom M:radiation = max(M:radiation-3,0) + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1408,11 +1456,15 @@ datum if(M.stat == 2.0) return //See above, down and around. --Agouri if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:radiation = max(M:radiation-7,0) M:adjustToxLoss(-1) if(prob(15)) M.take_organ_damage(1, 0) ..() + if(data >= 50) + M:adjustToxLoss(0.1) return alkysine @@ -1425,6 +1477,7 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom M:adjustBrainLoss(-3) + M:adjustToxLoss(0.1) ..() return @@ -1437,10 +1490,13 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:eye_blurry = max(M:eye_blurry-5 , 0) M:eye_blind = max(M:eye_blind-5 , 0) M:disabilities &= ~1 -// M:sdisabilities &= ~1 Replaced by eye surgery + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1455,7 +1511,11 @@ datum if(M.stat == 2.0) return if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:heal_organ_damage(2,0) + if(data >= 50) + M:adjustToxLoss(0.1) ..() return @@ -1468,8 +1528,12 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ if(prob(5)) M:emote(pick("twitch","blink_r","shiver")) holder.remove_reagent(src.id, 0.2) + if(data >= 50) + M:adjustToxLoss(0.3) ..() return @@ -1517,7 +1581,11 @@ datum color = "#C8A5DC" // rgb: 200, 165, 220 on_mob_life(var/mob/living/M as mob)//no more mr. panacea + if(!data) data = 1 + data++ holder.remove_reagent(src.id, 0.1) + if(data >= 50) + M:adjustToxLoss(0.2) return carpotoxin @@ -1557,7 +1625,7 @@ datum on_mob_life(var/mob/living/M as mob) if(!M) M = holder.my_atom - M:bodytemperature -= 50 //This and the following two lines need to be checked and tinkered with so that the Cryo-In-A-Syringe + M:bodytemperature = max(M:bodytemperature - 30, 100) //This and the following two lines need to be checked and tinkered with so that the Cryo-In-A-Syringe if(prob(5)) // leaves someone at 100% healthy from anything up to in heavy crit (-75%) M.take_organ_damage(0, 1) if(prob(80) && istype(M, /mob/living/carbon/metroid)) @@ -1579,7 +1647,11 @@ datum on_mob_life(var/mob/M) if(!M) M = holder.my_atom + if(!data) data = 1 + data++ M:hallucination += 5 + if(data >= 50) + M:adjustToxLoss(0.2) ..() return @@ -4043,6 +4115,4 @@ datum else if(data >= 115 && prob(60)) M.confused = max(M:confused+15,15) ..() - return*/ - - + return*/ \ No newline at end of file