diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index 0040b62595c..f555d18927a 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -1,6 +1,7 @@ /* Toys! * Contains * Balloons + * Captain's Aid * Fake singularity * Toy gun * Toy swords @@ -182,6 +183,48 @@ #undef BALLOON_COLORS +/* +* Captain's Aid +*/ +#define CAPTAINSAID_MODE_OFF 1 + +/obj/item/toy/captainsaid + name = "\improper Captain's Aid" + desc = "Every captain's greatest ally when exploring the vast emptiness of space, now with a color display!" + icon = 'icons/obj/toy.dmi' + icon_state = "captainsaid_off" + /// List of modes it can cycle through + var/list/modes = list( + "off", + "port", + "starboard", + "fore", + "aft", + ) + /// Current mode of the item, changed when cycling through modes + var/current_mode = CAPTAINSAID_MODE_OFF + +/obj/item/toy/captainsaid/examine_more(mob/user) + . = ..() + . += span_notice("You could swear you've been hearing advertisments for the 'soon upcoming' release of a tablet version for the better part of 3 years...") + +/obj/item/toy/captainsaid/attack_self(mob/living/user) + current_mode++ + playsound(src, 'sound/items/screwdriver2.ogg', 50, vary = TRUE) + if (current_mode <= modes.len) + balloon_alert(user, "set to [current_mode]") + else + balloon_alert(user, "turned off") + current_mode = CAPTAINSAID_MODE_OFF + icon_state = "captainsaid_[modes[current_mode]]" + update_appearance(UPDATE_ICON) + +#undef CAPTAINSAID_MODE_OFF + +/obj/item/toy/captainsaid/collector + name = "\improper Collector's Edition Captain's Aid" + desc = "A copy of the first run of Captain's Aid ever released. Functionally the same as the later batches, just more expensive. For the truly aristocratic." + /* * Fake singularity */ diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 1aadb1e8205..ba6deb08fe4 100755 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -31,12 +31,13 @@ /datum/job_department/command, ) - family_heirlooms = list(/obj/item/reagent_containers/food/drinks/flask/gold) + family_heirlooms = list(/obj/item/reagent_containers/food/drinks/flask/gold, /obj/item/toy/captainsaid/collector) mail_goodies = list( /obj/item/clothing/mask/cigarette/cigar/havana = 20, /obj/item/storage/fancy/cigarettes/cigars/havana = 15, - /obj/item/reagent_containers/food/drinks/bottle/champagne = 10 + /obj/item/reagent_containers/food/drinks/bottle/champagne = 10, + /obj/item/toy/captainsaid/collector = 20 ) job_flags = JOB_ANNOUNCE_ARRIVAL | JOB_CREW_MANIFEST | JOB_EQUIP_RANK | JOB_CREW_MEMBER | JOB_NEW_PLAYER_JOINABLE | JOB_BOLD_SELECT_TEXT | JOB_REOPEN_ON_ROUNDSTART_LOSS | JOB_ASSIGN_QUIRKS diff --git a/code/modules/vending/games.dm b/code/modules/vending/games.dm index 22582f95d20..deedf22be12 100644 --- a/code/modules/vending/games.dm +++ b/code/modules/vending/games.dm @@ -49,7 +49,8 @@ /obj/item/clothing/shoes/wheelys/rollerskates= 3, /obj/item/melee/skateboard/hoverboard = 1, /obj/item/storage/box/tail_pin = 1, - /obj/item/toy/intento = 3 + /obj/item/toy/intento = 3, + /obj/item/toy/captainsaid = 1, ) refill_canister = /obj/item/vending_refill/games default_price = PAYCHECK_ASSISTANT diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 8934ed0af98..bdada236009 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ