From 10ff52ad5fedf628984e19e29462208d765774b3 Mon Sep 17 00:00:00 2001 From: Gandalf Date: Sun, 10 Oct 2021 02:17:39 +0100 Subject: [PATCH] Chadian (#8723) * E * Update dog.dm --- .../mob/living/simple_animal/friendly/dog.dm | 5 ++ .../modules/chadian/code/chadian.dm | 55 ++++++++++++++++++ modular_skyrat/modules/chadian/icons/ian.dmi | Bin 0 -> 5209 bytes tgstation.dme | 1 + 4 files changed, 61 insertions(+) create mode 100644 modular_skyrat/modules/chadian/code/chadian.dm create mode 100644 modular_skyrat/modules/chadian/icons/ian.dmi diff --git a/code/modules/mob/living/simple_animal/friendly/dog.dm b/code/modules/mob/living/simple_animal/friendly/dog.dm index 8026fbb56d7..ae610259049 100644 --- a/code/modules/mob/living/simple_animal/friendly/dog.dm +++ b/code/modules/mob/living/simple_animal/friendly/dog.dm @@ -417,6 +417,7 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( real_name = "Ian" //Intended to hold the name without altering it. gender = MALE desc = "He's the HoP's beloved corgi." + icon = 'modular_skyrat/modules/chadian/icons/ian.dmi' //SKYRAT EDIT CHANGE response_help_continuous = "pets" response_help_simple = "pet" response_disarm_continuous = "bops" @@ -449,11 +450,15 @@ GLOBAL_LIST_INIT(strippable_corgi_items, create_strippable_list(list( desc = "At a ripe old age of [record_age], Ian's not as spry as he used to be, but he'll always be the HoP's beloved corgi." //RIP turns_per_move = 20 + old = TRUE //SKYRAT EDIT ADDITION + +/* SKYRAT EDIT REMOVAL /mob/living/simple_animal/pet/dog/corgi/ian/Life(delta_time = SSMOBS_DT, times_fired) if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved) Write_Memory(FALSE) memory_saved = TRUE ..() +*/ /mob/living/simple_animal/pet/dog/corgi/ian/death() if(!memory_saved) diff --git a/modular_skyrat/modules/chadian/code/chadian.dm b/modular_skyrat/modules/chadian/code/chadian.dm new file mode 100644 index 00000000000..b89d12f30da --- /dev/null +++ b/modular_skyrat/modules/chadian/code/chadian.dm @@ -0,0 +1,55 @@ +#define RESTING_STATE_NONE 0 +#define RESTING_STATE_SIT 1 +#define RESTING_STATE_REST 2 + +/mob/living/simple_animal/pet/dog/corgi/ian + var/resting_state = 0 + var/old = FALSE + +/mob/living/simple_animal/pet/dog/corgi/ian/Life(delta_time = SSMOBS_DT, times_fired) + if(!stat && SSticker.current_state == GAME_STATE_FINISHED && !memory_saved) + Write_Memory(FALSE) + memory_saved = TRUE + if(!stat && !buckled && !client && !inventory_head && !inventory_back) + if(DT_PROB(0.5, delta_time)) + manual_emote(pick("flops forward laying flat.", "wags [p_their()] tail.", "lies down.")) + set_rest_state(RESTING_STATE_REST) + else if(DT_PROB(0.5, delta_time)) + manual_emote(pick("sits down.", "crouches on [p_their()] hind legs.", "looks alert.")) + set_rest_state(RESTING_STATE_SIT) + else if(DT_PROB(0.5, delta_time)) + if (resting_state) + manual_emote(pick("gets up and barks.", "walks around.", "stops resting.")) + set_rest_state(RESTING_STATE_NONE) + else + manual_emote(pick("grooms [p_their()] fur.", "twitches [p_their()] ears.", "shakes [p_their()] fur.")) + ..() + +/mob/living/simple_animal/pet/dog/corgi/ian/Moved() + . = ..() + if(resting_state) + manual_emote(pick("gets up and barks.", "walks around.", "stops resting.")) + set_rest_state(RESTING_STATE_NONE) + +/mob/living/simple_animal/pet/dog/corgi/ian/proc/set_rest_state(state) + resting_state = state + update_icons() + +/mob/living/simple_animal/pet/dog/corgi/ian/update_icons() + . = ..() + if(old && !stat) + icon_state = "[initial(icon_state)]_old[shaved ? "_shaved" : ""]" + else if(!stat) + switch(resting_state) + if(RESTING_STATE_NONE) + icon_state = initial(icon_state) + if(RESTING_STATE_SIT) + icon_state = "[initial(icon_state)]_sit[shaved ? "_shaved" : ""]" + if(RESTING_STATE_REST) + icon_state = "[initial(icon_state)]_rest[shaved ? "_shaved" : ""]" + else + icon_state = icon_dead + +#undef RESTING_STATE_NONE +#undef RESTING_STATE_SIT +#undef RESTING_STATE_REST diff --git a/modular_skyrat/modules/chadian/icons/ian.dmi b/modular_skyrat/modules/chadian/icons/ian.dmi new file mode 100644 index 0000000000000000000000000000000000000000..fe59205d82b778effae464c54f4d79e1a5e38126 GIT binary patch literal 5209 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 Qe;vro*wU!sipQh>0}!T*tpET3 literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index ff043e7ca42..a9244ab5f51 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -4299,6 +4299,7 @@ #include "modular_skyrat\modules\central_command_module\code\computers\ert_control_computer.dm" #include "modular_skyrat\modules\central_command_module\code\computers\station_goal_computer.dm" #include "modular_skyrat\modules\central_command_module\code\obj\wall.dm" +#include "modular_skyrat\modules\chadian\code\chadian.dm" #include "modular_skyrat\modules\chaplain\code\game\objects\items\implants\mortis.dm" #include "modular_skyrat\modules\cme\code\_cme_defines.dm" #include "modular_skyrat\modules\cme\code\cme.dm"