From 695a6738656e253fcc406babbfadc27dc954cd2e Mon Sep 17 00:00:00 2001 From: SkyMarshal Date: Sat, 28 Jan 2012 01:52:14 -0700 Subject: [PATCH] Final bugfixes, port of AutoTraitor (tested) and RP-Rev (Untested) --- baystation12.dme | 3 ++ code/datums/mind.dm | 1 + code/datums/shuttle_controller.dm | 2 + code/game/gamemodes/blob/blob.dm | 40 ---------------- .../game/gamemodes/changeling/traitor_chan.dm | 40 ---------------- code/game/gamemodes/cult/cult.dm | 40 ---------------- code/game/gamemodes/extended/extended.dm | 40 ---------------- code/game/gamemodes/game_mode.dm | 42 ++++++++++++++++- .../game/gamemodes/malfunction/malfunction.dm | 40 ---------------- code/game/gamemodes/meteor/meteor.dm | 40 ---------------- code/game/gamemodes/nuclear/nuclear.dm | 40 ---------------- code/game/gamemodes/revolution/revolution.dm | 44 ++---------------- code/game/gamemodes/traitor/traitor.dm | 46 ++----------------- code/game/gamemodes/wizard/wizard.dm | 40 ---------------- code/game/machinery/doors/airlock.dm | 18 ++++---- code/game/machinery/doors/door.dm | 9 ++-- .../objects/closets/secure/engineering.dm | 4 +- code/modules/mob/living/carbon/human/life.dm | 4 +- code/modules/mob/new_player/new_player.dm | 2 + data/mode.txt | 2 +- 20 files changed, 74 insertions(+), 423 deletions(-) diff --git a/baystation12.dme b/baystation12.dme index 601d50dd994..0862d7b6049 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -34,6 +34,7 @@ #define FILE_DIR "code/game/events/EventProcs" #define FILE_DIR "code/game/events/Events" #define FILE_DIR "code/game/gamemodes" +#define FILE_DIR "code/game/gamemodes/autotraitor" #define FILE_DIR "code/game/gamemodes/blob" #define FILE_DIR "code/game/gamemodes/changeling" #define FILE_DIR "code/game/gamemodes/cult" @@ -412,6 +413,7 @@ #include "code\game\gamemodes\intercept_report.dm" #include "code\game\gamemodes\objective.dm" #include "code\game\gamemodes\setupgame.dm" +#include "code\game\gamemodes\autotraitor\autotraitor.dm" #include "code\game\gamemodes\blob\blob.dm" #include "code\game\gamemodes\blob\theblob.dm" #include "code\game\gamemodes\changeling\changeling.dm" @@ -428,6 +430,7 @@ #include "code\game\gamemodes\nuclear\nuclearbomb.dm" #include "code\game\gamemodes\nuclear\pinpointer.dm" #include "code\game\gamemodes\revolution\revolution.dm" +#include "code\game\gamemodes\revolution\rp-revolution.dm" #include "code\game\gamemodes\sandbox\h_sandbox.dm" #include "code\game\gamemodes\sandbox\sandbox.dm" #include "code\game\gamemodes\traitor\traitor.dm" diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 7a85e4b6a59..8d573b32424 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -15,6 +15,7 @@ datum/mind var/list/datum/objective/special_verbs = list() var/has_been_rev = 0//Tracks if this mind has been a rev or not + var/rev_cooldown = 0 proc/transfer_to(mob/new_character) if(current) diff --git a/code/datums/shuttle_controller.dm b/code/datums/shuttle_controller.dm index 8ea4c2d0ccc..c75f262eb73 100644 --- a/code/datums/shuttle_controller.dm +++ b/code/datums/shuttle_controller.dm @@ -19,6 +19,7 @@ datum/shuttle_controller //timeleft = 360 //600 fake_recall = 0 //Used in rounds to prevent "ON NOES, IT MUST [INSERT ROUND] BECAUSE SHUTTLE CAN'T BE CALLED" deny_shuttle = 0 //for admins not allowing it to be called. + departed = 0 // call the shuttle // if not called before, set the endtime to T+600 seconds @@ -137,6 +138,7 @@ datum/shuttle_controller return 0 else + departed = 1 location = 2 var/area/start_location = locate(/area/shuttle/escape/station) var/area/end_location = locate(/area/shuttle/escape/centcom) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 8b6d29b6b7b..99ac2237e7d 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -4,46 +4,6 @@ required_players = 0 uplink_welcome = "Syndicate Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 var/const/waittime_l = 2000 //lower bound on time before intercept arrives (in tenths of seconds) diff --git a/code/game/gamemodes/changeling/traitor_chan.dm b/code/game/gamemodes/changeling/traitor_chan.dm index b4b4f3efcec..3ed828f6a7e 100644 --- a/code/game/gamemodes/changeling/traitor_chan.dm +++ b/code/game/gamemodes/changeling/traitor_chan.dm @@ -6,46 +6,6 @@ required_enemies = 2 uplink_welcome = "Syndicate Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 /datum/game_mode/traitor/changeling/announce() diff --git a/code/game/gamemodes/cult/cult.dm b/code/game/gamemodes/cult/cult.dm index 2617c957b06..f5162478508 100644 --- a/code/game/gamemodes/cult/cult.dm +++ b/code/game/gamemodes/cult/cult.dm @@ -40,46 +40,6 @@ var/acolytes_survived = 0 uplink_welcome = "Nar-Sie Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 diff --git a/code/game/gamemodes/extended/extended.dm b/code/game/gamemodes/extended/extended.dm index e295150c8a5..c5a4bed773c 100644 --- a/code/game/gamemodes/extended/extended.dm +++ b/code/game/gamemodes/extended/extended.dm @@ -4,46 +4,6 @@ required_players = 0 uplink_welcome = "Syndicate Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 /datum/game_mode/announce() diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 3fb66ef2b79..0b7c6552303 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -24,8 +24,47 @@ required_players = 0 required_enemies = 0 uplink_welcome - uplink_items uplink_uses + uplink_items = {"Highly Visible and Dangerous Weapons; +/obj/item/weapon/gun/projectile:6:Revolver; +/obj/item/ammo_magazine/a357:2:Ammo-357; +/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; +/obj/item/weapon/melee/energy/sword:4:Energy Sword; +/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; +/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; +Whitespace:Seperator; +Stealthy and Inconspicuous Weapons; +/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; +/obj/item/weapon/soap/syndie:1:Syndicate Soap; +/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; +Whitespace:Seperator; +Stealth and Camouflage Items; +/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; +/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; +/obj/item/weapon/card/id/syndicate:3:Agent ID card; +/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/weapon/stamperaser:1:Stamp Remover; +Whitespace:Seperator; +Devices and Tools; +/obj/item/weapon/card/emag:3:Cryptographic Sequencer; +/obj/item/device/hacktool:3:Hacktool; +/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; +/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; +/obj/item/device/powersink:5:Powersink (DANGER!); +/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); +Whitespace:Seperator; +Implants; +/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; +/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; +/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; +/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); +Whitespace:Seperator; +Badassery; +/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} /datum/game_mode/proc/announce() //to be calles when round starts world << "Notice: [src] did not define announce()" @@ -80,6 +119,7 @@ /datum/game_mode/proc/check_win() //universal trigger to be called at mob death, nuke explosion, etc. To be called from everywhere. return 0 +/datum/game_mode/proc/latespawn(var/mob) /datum/game_mode/proc/send_intercept() var/intercepttext = "Cent. Com. Update Requested staus information:
" diff --git a/code/game/gamemodes/malfunction/malfunction.dm b/code/game/gamemodes/malfunction/malfunction.dm index c9112b95372..46f52e65753 100644 --- a/code/game/gamemodes/malfunction/malfunction.dm +++ b/code/game/gamemodes/malfunction/malfunction.dm @@ -16,46 +16,6 @@ var/apcs = 0 //Adding dis to track how many APCs the AI hacks. --NeoFite uplink_welcome = "Crazy AI Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 diff --git a/code/game/gamemodes/meteor/meteor.dm b/code/game/gamemodes/meteor/meteor.dm index a83c13c8341..a91ce6414d6 100644 --- a/code/game/gamemodes/meteor/meteor.dm +++ b/code/game/gamemodes/meteor/meteor.dm @@ -8,46 +8,6 @@ required_players = 0 uplink_welcome = "EVIL METEOR Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 /datum/game_mode/meteor/announce() diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm index 2629442706a..f077dc9b5a1 100644 --- a/code/game/gamemodes/nuclear/nuclear.dm +++ b/code/game/gamemodes/nuclear/nuclear.dm @@ -9,46 +9,6 @@ required_enemies = 2 uplink_welcome = "Corporate Backed Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 40 var/const/agents_possible = 5 //If we ever need more syndicate agents. diff --git a/code/game/gamemodes/revolution/revolution.dm b/code/game/gamemodes/revolution/revolution.dm index 57f7e3f6425..f14d8130227 100644 --- a/code/game/gamemodes/revolution/revolution.dm +++ b/code/game/gamemodes/revolution/revolution.dm @@ -19,46 +19,6 @@ required_enemies = 3 uplink_welcome = "Revolutionary Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 var/finished = 0 @@ -207,6 +167,8 @@ Badassery; rev_mind.current << "\red You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!" rev_mind.special_role = "Revolutionary" update_rev_icons_added(rev_mind) + if(ticker.mode.name == "rp-revolution") + rev_mind.current.verbs += /mob/living/carbon/human/proc/RevConvert return 1 ////////////////////////////////////////////////////////////////////////////// //Deals with players being converted from the revolution (Not a rev anymore)// // Modified to handle borged MMIs. Accepts another var if the target is being borged at the time -- Polymorph. @@ -229,6 +191,8 @@ Badassery; else M << "[rev_mind.current] looks like they just remembered their real allegiance!" + if(ticker.mode.name == "rp-revolution") + rev_mind.current.verbs -= /mob/living/carbon/human/proc/RevConvert ///////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index 9dff9159acb..5e69cb55c3c 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -10,46 +10,6 @@ required_enemies = 1 uplink_welcome = "Syndicate Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 var/const/waittime_l = 600 //lower bound on time before intercept arrives (in tenths of seconds) @@ -58,6 +18,8 @@ Badassery; var/traitors_possible = 4 //hard limit on traitors if scaling is turned off var/const/traitor_scaling_coeff = 10.0 //how much does the amount of players get divided by to determine traitors + var/num_players = 0 + /datum/game_mode/traitor/announce() world << "The current game mode is - Traitor!" @@ -300,7 +262,7 @@ Badassery; if (!R && traitor_mob.w_uniform && istype(traitor_mob.belt, /obj/item/device/radio)) R = traitor_mob.belt loc = "on your belt" - if (!R && istype(traitor_mob.l_ear, /obj/item/device/radio)) + if (!R && istype(traitor_mob.l_ear, /obj/item/device/radio) || prob(10)) R = traitor_mob.l_ear loc = "on your head" if (!R && istype(traitor_mob.r_ear, /obj/item/device/radio)) @@ -310,7 +272,7 @@ Badassery; traitor_mob << "Unfortunately, the Syndicate wasn't able to get you an uplink." . = 0 else - if (istype(R, /obj/item/device/radio) || prob(10)) + if (istype(R, /obj/item/device/radio)) // generate list of radio freqs var/freq = 1441 var/list/freqlist = list() diff --git a/code/game/gamemodes/wizard/wizard.dm b/code/game/gamemodes/wizard/wizard.dm index 04e6726c598..08c6654f2d9 100644 --- a/code/game/gamemodes/wizard/wizard.dm +++ b/code/game/gamemodes/wizard/wizard.dm @@ -9,46 +9,6 @@ required_enemies = 1 uplink_welcome = "Wizardly Uplink Console:" - uplink_items = {"Highly Visible and Dangerous Weapons; -/obj/item/weapon/gun/projectile:6:Revolver; -/obj/item/ammo_magazine/a357:2:Ammo-357; -/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow; -/obj/item/weapon/melee/energy/sword:4:Energy Sword; -/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle; -/obj/item/weapon/storage/emp_kit:4:5 EMP Grenades; -Whitespace:Seperator; -Stealthy and Inconspicuous Weapons; -/obj/item/weapon/pen/sleepypen:3:Sleepy Pen; -/obj/item/weapon/soap/syndie:1:Syndicate Soap; -/obj/item/weapon/cartridge/syndicate:3:Detomatix PDA Cartridge; -Whitespace:Seperator; -Stealth and Camouflage Items; -/obj/item/clothing/under/chameleon:3:Chameleon Jumpsuit; -/obj/item/clothing/shoes/syndigaloshes:2:No-Slip Syndicate Shoes; -/obj/item/weapon/card/id/syndicate:3:Agent ID card; -/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/weapon/stamperaser:1:Stamp Remover; -Whitespace:Seperator; -Devices and Tools; -/obj/item/weapon/card/emag:3:Cryptographic Sequencer; -/obj/item/device/hacktool:4:Hacktool; -/obj/item/weapon/storage/toolbox/syndicate:1:Fully Loaded Toolbox; -/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; -/obj/item/device/powersink:5:Powersink (DANGER!); -/obj/machinery/singularity_beacon/syndicate:7:Singularity Beacon (DANGER!); -Whitespace:Seperator; -Implants; -/obj/item/weapon/storage/syndie_kit/imp_freedom:3:Freedom Implant; -/obj/item/weapon/storage/syndie_kit/imp_compress:5:Compressed Matter Implant; -/obj/item/weapon/storage/syndie_kit/imp_explosive:6:Explosive Implant; -/obj/item/weapon/storage/syndie_kit/imp_uplink:10:Uplink Implant (Contains 5 Telecrystals); -Whitespace:Seperator; -Badassery; -/obj/item/toy/syndicateballoon:10:For showing that You Are The BOSS (Useless Balloon);"} uplink_uses = 10 var/finished = 0 diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 39f3ce9c660..5389935bd46 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -77,15 +77,14 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. var/aiHacking = 0 var/obj/machinery/door/airlock/closeOther = null var/closeOtherId = null - var/list/signalers[9] + var/list/signalers[12] var/lockdownbyai = 0 autoclose = 1 var/doortype = 0 var/justzap = 0 var/safetylight = 1 var/obj/item/weapon/airlock_electronics/electronics = null - -/obj/machinery/door/airlock/New() + holdopen = 1 /obj/machinery/door/airlock/command name = "Airlock" @@ -563,9 +562,9 @@ About the new airlock wires panel: if(src.isWireCut(AIRLOCK_WIRE_HOLDOPEN)) t1 += "Behavior Control light wire is cut.
\n" else if(!src.holdopen) - t1 += text("Door behavior is set to: Automatically close Toggle?
\n") + t1 += text("Door behavior is set to: Automatically close Toggle?
\n") else - t1 += text("Door behavior is set to: Wait for clearance to close Toggle?
\n") + t1 += text("Door behavior is set to: Wait for clearance to close Toggle?
\n") if (src.welded) t1 += text("Door appears to have been welded shut.
\n") @@ -593,7 +592,6 @@ About the new airlock wires panel: return //Separate interface for the hacker. - user.machine = src var/t1 = text("Airlock Control
\n") if (src.secondsMainPowerLost > 0) if ((!src.isWireCut(AIRLOCK_WIRE_MAIN_POWER1)) && (!src.isWireCut(AIRLOCK_WIRE_MAIN_POWER2))) @@ -671,9 +669,9 @@ About the new airlock wires panel: if(src.isWireCut(AIRLOCK_WIRE_HOLDOPEN)) t1 += "Behavior Control light wire is cut.
\n" else if(!src.holdopen) - t1 += text("Door behavior is set to: Automatically close Toggle?
\n") + t1 += text("Door behavior is set to: Automatically close Toggle?
\n") else - t1 += text("Door behavior is set to: Wait for clearance to close Toggle?
\n") + t1 += text("Door behavior is set to: Wait for clearance to close Toggle?
\n") if (src.welded) t1 += text("Door appears to have been welded shut.
\n") @@ -934,7 +932,7 @@ About the new airlock wires panel: if(!src.holdopen) usr << text("Door Behavior already set to: Wait for clearance to close
\n") else - src.holdopen = 1 + src.holdopen = 0 else if (href_list["aiEnable"]) var/code = text2num(href_list["aiEnable"]) @@ -1012,7 +1010,7 @@ About the new airlock wires panel: if(src.holdopen) usr << text("Door Behavior already set to: Automatically close
\n") else - src.holdopen = 0 + src.holdopen = 1 src.update_icon() src.updateUsrDialog() diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index bcc10c2a518..ee24359aeea 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -293,18 +293,17 @@ return src.operating = 1 - var/held = 0 + var/held = 1 if(src.holdopen) - while(held == 0) + while(held == 1) + held = 0 var/list/objects = locate() in get_turf(src) for(var/obj/T in objects) - if(T.anchored && T != src) + if(T != src) held = 1 - break for(var/mob/T in objects) held = 1 - break sleep(10) animate("closing") src.density = 1 diff --git a/code/game/objects/closets/secure/engineering.dm b/code/game/objects/closets/secure/engineering.dm index 3945a1e5b6b..f5bb2fefd07 100644 --- a/code/game/objects/closets/secure/engineering.dm +++ b/code/game/objects/closets/secure/engineering.dm @@ -6,9 +6,9 @@ New() ..() sleep(2) + new /obj/item/wardrobe/chief_engineer(src) + new /obj/item/wardrobe/chief_engineer(src) new /obj/item/blueprints(src) - new /obj/item/wardrobe/chief_engineer(src) - new /obj/item/wardrobe/chief_engineer(src) return diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 8ecb1cb853a..1715b749c7d 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -229,10 +229,10 @@ var/datum/gas_mixture/environment = loc.return_air() var/datum/air_group/breath // HACK NEED CHANGING LATER - if(health < config.health_threshold_dead) + if(health < (config.health_threshold_dead + 50)) //PEOPLE ARE NOT DYING, DAMMIT losebreath++ - if(losebreath>0) //Suffocating so do not take a breath + if(losebreath>0 && prob(90)) //Suffocating so do not take a breath losebreath-- if (prob(75)) //High chance of gasping for air spawn emote("gasp") diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm index 6d3ac0648ee..5c8d1cce350 100644 --- a/code/modules/mob/new_player/new_player.dm +++ b/code/modules/mob/new_player/new_player.dm @@ -258,6 +258,8 @@ job_master.EquipRank(character, rank, 1) EquipCustomItems(character) character.loc = pick(latejoin) + character.be_syndicate = src.preferences.be_special & BE_TRAITOR + ticker.mode.latespawn(character) AnnounceArrival(character, rank) if(character.mind.assigned_role != "Cyborg") diff --git a/data/mode.txt b/data/mode.txt index bd81a61cbfd..e8ce87d6d4c 100644 --- a/data/mode.txt +++ b/data/mode.txt @@ -1 +1 @@ -traitor +Extend-A-Traitormongous