diff --git a/_maps/map_files220/generic/centcomm.dmm b/_maps/map_files220/generic/centcomm.dmm index cb522a85fce8..bd03058b4414 100644 --- a/_maps/map_files220/generic/centcomm.dmm +++ b/_maps/map_files220/generic/centcomm.dmm @@ -19668,10 +19668,7 @@ /turf/simulated/floor/indestructible/grass, /area/syndicate_mothership/outside) "lCD" = ( -/mob/living/simple_animal/mouse/brown{ - desc = "Секретная разработка синдиката. Сидит тут потому, что сам хочет"; - name = "Мышедемон" - }, +/mob/living/simple_animal/mouse/brown/demon, /turf/simulated/floor/plasteel{ icon_state = "dark" }, diff --git a/modular_ss220/mobs/code/simple_animal/friendly/hamster.dm b/modular_ss220/mobs/code/simple_animal/friendly/hamster.dm index 223d1ea8f0ea..847c3ce70874 100644 --- a/modular_ss220/mobs/code/simple_animal/friendly/hamster.dm +++ b/modular_ss220/mobs/code/simple_animal/friendly/hamster.dm @@ -39,24 +39,29 @@ #define MAX_HAMSTER 20 GLOBAL_VAR_INIT(hamster_count, 0) -/mob/living/simple_animal/mouse/hamster/color_pick() - reinitial() - return - -/mob/living/simple_animal/mouse/hamster/New() +/mob/living/simple_animal/mouse/hamster/Initialize(mapload) + . = ..() gender = prob(80) ? MALE : FEMALE - desc += MALE ? " Самец!" : " Самочка! Ох... Нет... " + + icon_state = initial(icon_state) + icon_living = initial(icon_living) + icon_dead = initial(icon_dead) + icon_resting = initial(icon_resting) + + update_appearance(UPDATE_ICON_STATE, UPDATE_DESC) GLOB.hamster_count++ - . = ..() /mob/living/simple_animal/mouse/hamster/Destroy() GLOB.hamster_count-- . = ..() -/mob/living/simple_animal/mouse/hamster/death(gibbed) - if(!gibbed) - GLOB.hamster_count-- +/mob/living/simple_animal/mouse/hamster/color_pick() + return + +/mob/living/simple_animal/mouse/hamster/update_desc() . = ..() + desc = initial(desc) + desc += MALE ? " Самец!" : " Самочка! Ох... Нет... " /mob/living/simple_animal/mouse/hamster/pull_constraint(atom/movable/AM, show_message = FALSE) return TRUE diff --git a/modular_ss220/mobs/code/simple_animal/friendly/mouse.dm b/modular_ss220/mobs/code/simple_animal/friendly/mouse.dm index 26bf83289af9..f5d8cae71425 100644 --- a/modular_ss220/mobs/code/simple_animal/friendly/mouse.dm +++ b/modular_ss220/mobs/code/simple_animal/friendly/mouse.dm @@ -10,14 +10,13 @@ /mob/living/simple_animal/mouse/Initialize(mapload) . = ..() AddComponent(/datum/component/squeak, list("[squeak_sound]" = 1), 100, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) //as quiet as a mouse or whatever - -/mob/living/simple_animal/mouse/New() - ..() + pixel_x = rand(-6, 6) pixel_y = rand(0, 10) mouse_color = initial(mouse_color) // сбрасываем из-за наследования чтобы своим проком переписать color_pick() + update_appearance(UPDATE_ICON_STATE|UPDATE_DESC) /mob/living/simple_animal/mouse/proc/color_pick() if(!mouse_color) @@ -26,15 +25,6 @@ icon_living = "mouse_[mouse_color]" icon_dead = "mouse_[mouse_color]_dead" icon_resting = "mouse_[mouse_color]_sleep" - update_appearance(UPDATE_DESC) - -/mob/living/simple_animal/mouse/proc/reinitial() - desc = initial(desc) - mouse_color = initial(mouse_color) - icon_state = initial(icon_state) - icon_living = initial(icon_living) - icon_dead = initial(icon_dead) - icon_resting = initial(icon_resting) /mob/living/simple_animal/mouse/splat(obj/item/item = null, mob/living/user = null) if(non_standard) diff --git a/modular_ss220/mobs/code/simple_animal/friendly/rat.dm b/modular_ss220/mobs/code/simple_animal/friendly/rat.dm index 338f47f873c3..4269efa853f5 100644 --- a/modular_ss220/mobs/code/simple_animal/friendly/rat.dm +++ b/modular_ss220/mobs/code/simple_animal/friendly/rat.dm @@ -15,6 +15,16 @@ mob_size = MOB_SIZE_SMALL butcher_results = list(/obj/item/food/meat/mouse = 2) +/mob/living/simple_animal/mouse/rat/update_desc() + . = ..() + switch(mouse_color) + if("white") + desc = /mob/living/simple_animal/mouse/rat/white::desc + if("irish") + desc = /mob/living/simple_animal/mouse/rat/irish::desc + else + desc = /mob/living/simple_animal/mouse/rat::desc + /mob/living/simple_animal/mouse/rat/white name = "white rat" real_name = "white rat" diff --git a/modular_ss220/mobs/code/simple_animal/named_animals.dm b/modular_ss220/mobs/code/simple_animal/named_animals.dm index 344b18fae80e..31b93ad6757a 100644 --- a/modular_ss220/mobs/code/simple_animal/named_animals.dm +++ b/modular_ss220/mobs/code/simple_animal/named_animals.dm @@ -73,6 +73,18 @@ desc = "Крокодил обожающий музыкальные инструменты и плюшевые игрушки. Пожевать." faction = list("neutral") +/mob/living/simple_animal/mouse/brown/demon + name = "Мышедемон" + desc = "Секретная разработка синдиката. Сидит тут потому, что сам хочет" + unique_pet = TRUE + gold_core_spawnable = NO_SPAWN + maxHealth = 20 + health = 20 + +/mob/living/simple_animal/mouse/brown/demon/update_desc() + . = ..() + desc = initial(desc) + // rats /mob/living/simple_animal/mouse/rat/ratatui name = "Рататуй" @@ -84,6 +96,10 @@ maxHealth = 20 health = 20 +/mob/living/simple_animal/mouse/rat/ratatui/update_desc() + . = ..() + desc = initial(desc) + /mob/living/simple_animal/mouse/rat/irish/remi name = "Реми" real_name = "Реми" @@ -94,6 +110,10 @@ health = 25 transform = matrix(1.250, 0, 0, 0, 1, 0) // Толстячок на +2 пикселя +/mob/living/simple_animal/mouse/rat/irish/remi/update_desc() + . = ..() + desc = initial(desc) + /mob/living/simple_animal/mouse/rat/white/brain name = "Брейн" real_name = "Брейн" @@ -105,6 +125,10 @@ universal_speak = 1 resting = TRUE +/mob/living/simple_animal/mouse/rat/white/brain/update_desc() + . = ..() + desc = initial(desc) + /obj/effect/decal/remains/mouse/pinkie name = "Пинки" desc = "Когда-то это был напарник самой сообразительной крысы в мире. К сожалению он таковым не являлся..."