diff --git a/code/defines/area/Space Station 13 areas.dm b/code/defines/area/Space Station 13 areas.dm index ebf285b3d5e..586387a3e60 100644 --- a/code/defines/area/Space Station 13 areas.dm +++ b/code/defines/area/Space Station 13 areas.dm @@ -223,9 +223,6 @@ proc/process_ghost_teleport_locs() icon_state = "shuttle" name = "\improper Transport Shuttle" -/area/shuttle/transport2/centcom - icon_state = "shuttle" - /area/shuttle/alien/base icon_state = "shuttle" name = "\improper Alien Shuttle Base" @@ -1456,7 +1453,6 @@ var/list/centcom_areas = list ( /area/shuttle/escape_pod3/centcom, /area/shuttle/escape_pod5/centcom, /area/shuttle/transport1/centcom, - /area/shuttle/transport2/centcom, /area/shuttle/administration/centcom, /area/shuttle/specops/centcom, ) diff --git a/code/defines/obj/toy.dm b/code/defines/obj/toy.dm index 7797812474b..719042ddd5f 100644 --- a/code/defines/obj/toy.dm +++ b/code/defines/obj/toy.dm @@ -13,56 +13,56 @@ /obj/item/toy/prize/ripley name = "toy ripley" - desc = "Mini-Mecha action figure! Collect them all! 1/11" + desc = "Mini-Mecha action figure! Collect them all! 1/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" /obj/item/toy/prize/fireripley name = "toy firefighting ripley" - desc = "Mini-Mecha action figure! Collect them all! 2/11" + desc = "Mini-Mecha action figure! Collect them all! 2/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "fireripleytoy" /obj/item/toy/prize/deathripley name = "toy deathsquad ripley" - desc = "Mini-Mecha action figure! Collect them all! 3/11" + desc = "Mini-Mecha action figure! Collect them all! 3/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "deathripleytoy" /obj/item/toy/prize/gygax name = "toy gygax" - desc = "Mini-Mecha action figure! Collect them all! 4/11" + desc = "Mini-Mecha action figure! Collect them all! 4/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "gygaxtoy" /obj/item/toy/prize/durand name = "toy gygax" - desc = "Mini-Mecha action figure! Collect them all! 5/11" + desc = "Mini-Mecha action figure! Collect them all! 5/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "durandprize" /obj/item/toy/prize/honk name = "toy H.O.N.K." - desc = "Mini-Mecha action figure! Collect them all! 6/11" + desc = "Mini-Mecha action figure! Collect them all! 6/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "honkprize" /obj/item/toy/prize/marauder name = "toy marauder" - desc = "Mini-Mecha action figure! Collect them all! 7/11" + desc = "Mini-Mecha action figure! Collect them all! 7/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "marauderprize" /obj/item/toy/prize/seraph name = "toy seraph" - desc = "Mini-Mecha action figure! Collect them all! 8/11" + desc = "Mini-Mecha action figure! Collect them all! 8/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "seraphprize" /obj/item/toy/prize/mauler name = "toy mauler" - desc = "Mini-Mecha action figure! Collect them all! 9/11" + desc = "Mini-Mecha action figure! Collect them all! 9/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "maulerprize" /obj/item/toy/prize/odysseus name = "toy odysseus" - desc = "Mini-Mecha action figure! Collect them all! 10/11" + desc = "Mini-Mecha action figure! Collect them all! 10/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "odysseusprize" /obj/item/toy/prize/phazon name = "toy phazon" - desc = "Mini-Mecha action figure! Collect them all! 11/11" + desc = "Mini-Mecha action figure! Collect them all! 11/11. Send the full collection in a closed crate to CentCom at your local quartermaster for a GREAT reward!" icon_state = "phazonprize" diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index 7383c441813..da1629654f2 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -85,7 +85,7 @@ if(..()) return - if (!src.blocked) + if (!src.blocked && !src.gameover) if (href_list["attack"]) src.blocked = 1 var/attackamt = rand(2,6) @@ -148,30 +148,33 @@ /obj/machinery/computer/arcade/proc/arcade_action() if ((src.enemy_mp <= 0) || (src.enemy_hp <= 0)) - src.gameover = 1 - src.temp = "[src.enemy_name] has fallen! Rejoice!" + if(!gameover) + src.gameover = 1 + src.temp = "[src.enemy_name] has fallen! Rejoice!" - if(emagged) - new /obj/effect/spawner/newbomb/timer/syndicate(src.loc) - new /obj/item/clothing/head/collectable/petehat(src.loc) - message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.") - log_game("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.") - src.New() - emagged = 0 + if(emagged) + feedback_inc("arcade_win_emagged") + new /obj/effect/spawner/newbomb/timer/syndicate(src.loc) + new /obj/item/clothing/head/collectable/petehat(src.loc) + message_admins("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.") + log_game("[key_name_admin(usr)] has outbombed Cuban Pete and been awarded a bomb.") + src.New() + emagged = 0 + else if(!contents.len) + feedback_inc("arcade_win_normal") + var/prizeselect = pickweight(prizes) + new prizeselect(src.loc) - else if(!contents.len) - var/prizeselect = pickweight(prizes) - new prizeselect(src.loc) + if(istype(prizeselect, /obj/item/toy/gun)) //Ammo comes with the gun + new /obj/item/toy/ammo/gun(src.loc) - if(istype(prizeselect, /obj/item/toy/gun)) //Ammo comes with the gun - new /obj/item/toy/ammo/gun(src.loc) + else if(istype(prizeselect, /obj/item/clothing/suit/syndicatefake)) //Helmet is part of the suit + new /obj/item/clothing/head/syndicatefake(src.loc) - else if(istype(prizeselect, /obj/item/clothing/suit/syndicatefake)) //Helmet is part of the suit - new /obj/item/clothing/head/syndicatefake(src.loc) - - else - var/atom/movable/Prize = pick(contents) - Prize.loc = src.loc + else + feedback_inc("arcade_win_normal") + var/atom/movable/prize = pick(contents) + prize.loc = src.loc else if (emagged && (turtle >= 4)) var/boomamt = rand(5,10) @@ -189,7 +192,10 @@ sleep(10) src.temp = "You have been drained! GAME OVER" if(emagged) + feedback_inc("arcade_loss_mana_emagged") usr.gib() + else + feedback_inc("arcade_loss_mana_normal") else if ((src.enemy_hp <= 10) && (src.enemy_mp > 4)) src.temp = "[src.enemy_name] heals for 4 health!" @@ -205,7 +211,10 @@ src.gameover = 1 src.temp = "You have been crushed! GAME OVER" if(emagged) + feedback_inc("arcade_loss_hp_emagged") usr.gib() + else + feedback_inc("arcade_loss_hp_normal") src.blocked = 0 return diff --git a/code/game/master_controller.dm b/code/game/master_controller.dm index a35e7fd69f5..157cc9cdb60 100644 --- a/code/game/master_controller.dm +++ b/code/game/master_controller.dm @@ -97,11 +97,6 @@ datum/controller/game_controller proc/process() - if(!Failsafe) - Failsafe = new /datum/failsafe - spawn(0) - Failsafe.spin() - var/currenttime = world.timeofday var/diff = (currenttime - last_tick_timeofday) / 10 last_tick_timeofday = currenttime @@ -229,40 +224,4 @@ datum/controller/game_controller process() - return 1 - - - -/datum/failsafe // This thing pretty much just keeps poking the master controller - var/spinning = 1 - var/current_iteration = 0 - -/datum/failsafe/proc/spin() - if(!master_controller) // Well fuck. How did this happen? - sleep(50) - if(!master_controller) - master_controller = new /datum/controller/game_controller() - spawn(-1) - master_controller.setup() - - else - while(spinning) - current_iteration = controller_iteration - sleep(600) // Wait 15 seconds - if(current_iteration == controller_iteration) // Mm. The master controller hasn't ticked yet. - - for (var/mob/M in world) - if (M.client && M.client.holder) - M << " Warning. The Master Controller has not fired in the last 60 seconds. Restart recommended. Automatic restart in 60 seconds." - - sleep(600) - if(current_iteration == controller_iteration) - for (var/mob/M in world) - if (M.client && M.client.holder) - M << " Warning. The Master Controller has not fired in the last 2 minutes. Automatic restart beginning." - master_controller.process() - sleep(150) - else - for (var/mob/M in world) - if (M.client && M.client.holder) - M << " The Master Controller has fired. Automatic restart aborted." \ No newline at end of file + return 1 \ No newline at end of file diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm index 519e039f151..021459ee06b 100644 --- a/code/game/supplyshuttle.dm +++ b/code/game/supplyshuttle.dm @@ -2,8 +2,8 @@ #define SUPPLY_DOCKZ 2 //Z-level of the Dock. #define SUPPLY_STATIONZ 1 //Z-level of the Station. #define SUPPLY_POINTSPER 10 //Points per tick. -#define SUPPLY_POINTDELAY 3000 //Delay between ticks in milliseconds. -#define SUPPLY_MOVETIME 1800 //Time to station is milliseconds. +#define SUPPLY_POINTDELAY 3000 //Delay between ticks in milliseconds. +#define SUPPLY_MOVETIME 1200 //Time to station is milliseconds. #define SUPPLY_POINTSPERCRATE 5 //Points per crate sent back. #define SUPPLY_STATION_AREATYPE "/area/supply/station" //Type of the supply shuttle area for station #define SUPPLY_DOCK_AREATYPE "/area/supply/dock" //Type of the supply shuttle area for dock @@ -18,6 +18,21 @@ var/supply_shuttle_time = 0 var/supply_shuttle_timeleft = 0 var/supply_shuttle_points = 50 var/ordernum=0 +var/supplyshuttle_mech_redeem = 0 //You can redeem a full set of mech toys for a reward. + +var/list/mechtoys = list( + /obj/item/toy/prize/ripley, + /obj/item/toy/prize/fireripley, + /obj/item/toy/prize/deathripley, + /obj/item/toy/prize/gygax, + /obj/item/toy/prize/durand, + /obj/item/toy/prize/honk, + /obj/item/toy/prize/marauder, + /obj/item/toy/prize/seraph, + /obj/item/toy/prize/mauler, + /obj/item/toy/prize/odysseus, + /obj/item/toy/prize/phazon +) /area/supply/station //DO NOT TURN THE SD_LIGHTING STUFF ON FOR SHUTTLES. IT BREAKS THINGS. name = "supply shuttle" @@ -81,11 +96,6 @@ var/ordernum=0 T.blocks_air = 0 ..() -/area/supplyshuttle - name = "Supply Shuttle" - icon_state = "supply" - requires_power = 0 - /obj/machinery/computer/supplycomp name = "Supply shuttle console" icon = 'computer.dmi' @@ -214,6 +224,16 @@ This method wont take into account storage items developed in the future and doe del(slip) var/crate = locate(/obj/structure/closet/crate) in T if(crate) + if(mechtoys) + var/toysfound = 0 + for(var/toytype in mechtoys) + if( !locate(toytype) in crate ) + break + else + toysfound++ + if(toysfound && toysfound == mechtoys.len) + supplyshuttle_mech_redeem++ + feedback_inc("supply_mech_collection_redeemed") del(crate) supply_shuttle_points += SUPPLY_POINTSPERCRATE @@ -235,10 +255,13 @@ This method wont take into account storage items developed in the future and doe var/pickedloc = 0 var/found = 0 for(var/C in markers) - if ((locate(/obj/structure/closet/crate) in get_turf(C)) || (locate(/obj/structure/largecrate) in get_turf(C))) continue + if ((locate(/obj/structure/closet/crate) in get_turf(C)) || (locate(/obj/structure/largecrate) in get_turf(C))) + continue found = 1 pickedloc = get_turf(C) - if (!found) pickedloc = get_turf(pick(markers)) + break + if (!found) + pickedloc = get_turf(pick(markers)) var/datum/supply_order/SO = S var/datum/supply_packs/SP = SO.object @@ -275,6 +298,26 @@ This method wont take into account storage items developed in the future and doe slip.info += "
" slip.info += "CHECK CONTENTS AND STAMP BELOW THE LINE TO CONFIRM RECEIPT OF GOODS
" + if(supplyshuttle_mech_redeem) + for (var/i = 0; i < supplyshuttle_mech_redeem; i++) + var/pickedloc = 0 + var/found = 0 + for(var/C in markers) + if ( (locate(/obj/structure/closet/crate) in get_turf(C)) || \ + (locate(/obj/structure/largecrate) in get_turf(C)) || \ + (locate(/obj/mecha/combat/marauder) in get_turf(C)) + ) + continue + found = 1 + pickedloc = get_turf(C) + break + if (!found) + pickedloc = get_turf(pick(markers)) + if (!pickedloc) + return + var/obj/mecha/combat/marauder/M = new(pickedloc) //Redeeming the mech toy collection gives you your very own life-sized combat mech! + M.operation_req_access = list() + M.internals_req_access = list() return /obj/machinery/computer/ordercomp/attack_ai(var/mob/user as mob) diff --git a/code/modules/admin/verbs/MC.dm b/code/modules/admin/verbs/MC.dm index 9c9da5e5cb3..1a30b6f62aa 100644 --- a/code/modules/admin/verbs/MC.dm +++ b/code/modules/admin/verbs/MC.dm @@ -16,10 +16,6 @@ /client/proc/debug_master_controller() set category = "Debug" set name = "Debug Master Controller" - switch(alert("Debug Master Controller or Failsafe?" ,, "Master Controller" , "Failsafe")) - if("Master Controller") - debug_variables(master_controller) - if("Failsafe") - debug_variables(Failsafe) + debug_variables(master_controller) feedback_add_details("admin_verb","DMC") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! return \ No newline at end of file diff --git a/html/changelog.html b/html/changelog.html index da96f163170..063bd0cac59 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -46,6 +46,17 @@ Stuff which is in development and not yet visible to players or just code relate should be listed in the changelog upon commit tho. Thanks. --> + +
+

22 July 2012

+

Errorage updated:

+ +
+

18 July 2012

Giacom updated: