From ce1b8c76e55a8a072ba3f98db773a611246866de Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Tue, 17 Sep 2019 13:44:24 -0400 Subject: [PATCH] Updates Space Carp (#12322) --- code/_globalvars/lists/names.dm | 2 + .../mob/living/simple_animal/hostile/carp.dm | 134 ++++++++++++++---- icons/mob/carp.dmi | Bin 19111 -> 10981 bytes strings/names/megacarp1.txt | 79 +++++++++++ strings/names/megacarp2.txt | 54 +++++++ 5 files changed, 243 insertions(+), 26 deletions(-) create mode 100644 strings/names/megacarp1.txt create mode 100644 strings/names/megacarp2.txt diff --git a/code/_globalvars/lists/names.dm b/code/_globalvars/lists/names.dm index 384cfb5f29a12..feadeece28f04 100644 --- a/code/_globalvars/lists/names.dm +++ b/code/_globalvars/lists/names.dm @@ -10,6 +10,8 @@ GLOBAL_LIST_INIT(last_names, file2list("config/names/last.txt")) GLOBAL_LIST_INIT(clown_names, file2list("config/names/clown.txt")) GLOBAL_LIST_INIT(mime_names, file2list("config/names/mime.txt")) GLOBAL_LIST_INIT(golem_names, file2list("config/names/golem.txt")) +GLOBAL_LIST_INIT(megacarp_first_names, file2list("strings/names/megacarp1.txt")) +GLOBAL_LIST_INIT(megacarp_last_names, file2list("strings/names/megacarp2.txt")) GLOBAL_LIST_INIT(verbs, file2list("config/names/verbs.txt")) GLOBAL_LIST_INIT(nouns, file2list("config/names/nouns.txt")) diff --git a/code/modules/mob/living/simple_animal/hostile/carp.dm b/code/modules/mob/living/simple_animal/hostile/carp.dm index ef0ddb2baf9e8..b071b3f49618b 100644 --- a/code/modules/mob/living/simple_animal/hostile/carp.dm +++ b/code/modules/mob/living/simple_animal/hostile/carp.dm @@ -1,20 +1,25 @@ +#define REGENERATION_DELAY 60 // After taking damage, how long it takes for automatic regeneration to begin for megacarps (ty robustin!) + /mob/living/simple_animal/hostile/carp name = "space carp" desc = "A ferocious, fang-bearing creature that resembles a fish." icon = 'icons/mob/carp.dmi' - icon_state = "carp" + icon_state = "base" + icon_living = "base" + icon_dead = "base_dead" icon_gib = "carp_gib" speak_chance = 0 turns_per_move = 5 butcher_results = list(/obj/item/reagent_containers/food/snacks/carpmeat = 2) - response_help = "pets the" - response_disarm = "gently pushes aside the" - response_harm = "hits the" + response_help = "pets" + response_disarm = "gently pushes aside" + response_harm = "hits" emote_taunt = list("gnashes") taunt_chance = 30 speed = 0 maxHealth = 25 health = 25 + harm_intent_damage = 8 obj_damage = 50 melee_damage_lower = 15 @@ -27,31 +32,68 @@ atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0) minbodytemp = 0 maxbodytemp = 1500 - faction = list("carp") - flying = 1 + flying = TRUE pressure_resistance = 200 gold_core_spawnable = CHEM_MOB_SPAWN_HOSTILE - var/carp_color = "carp" //holder for icon set - var/list/icon_sets = list("carp", "blue", "yellow", "grape", "rust", "teal", "purple") + var/random_color = TRUE //if the carp uses random coloring + var/rarechance = 1 //chance for rare color variant + + var/static/list/carp_colors = list(\ + "lightpurple" = "#c3b9f1", \ + "lightpink" = "#da77a8", \ + "green" = "#70ff25", \ + "grape" = "#df0afb", \ + "swamp" = "#e5e75a", \ + "turquoise" = "#04e1ed", \ + "brown" = "#ca805a", \ + "teal" = "#20e28e", \ + "lightblue" = "#4d88cc", \ + "rusty" = "#dd5f34", \ + "beige" = "#bbaeaf", \ + "yellow" = "#f3ca4a", \ + "blue" = "#09bae1", \ + "palegreen" = "#7ef099", \ + ) + var/static/list/carp_colors_rare = list(\ + "silver" = "#fdfbf3", \ + ) /mob/living/simple_animal/hostile/carp/Initialize(mapload) . = ..() - carp_randomify() + carp_randomify(rarechance) update_icons() -/mob/living/simple_animal/hostile/carp/proc/carp_randomify() - if(prob(1)) - carp_color = pick("white", "black") - else - carp_color = pick(icon_sets) - icon_state = "[carp_color]" - icon_living = "[carp_color]" - icon_dead = "[carp_color]_dead" +/mob/living/simple_animal/hostile/carp/proc/carp_randomify(rarechance) + if(random_color) + var/our_color + if(prob(rarechance)) + our_color = pick(carp_colors_rare) + add_atom_colour(carp_colors_rare[our_color], FIXED_COLOUR_PRIORITY) + else + our_color = pick(carp_colors) + add_atom_colour(carp_colors[our_color], FIXED_COLOUR_PRIORITY) + add_carp_overlay() -/mob/living/simple_animal/hostile/carp/Process_Spacemove(var/movement_dir = 0) - return 1 //No drifting in space for space carp! //original comments do not steal +/mob/living/simple_animal/hostile/carp/proc/add_carp_overlay() + if(!random_color) + return + cut_overlays() + var/mutable_appearance/base_overlay = mutable_appearance(icon, "base_mouth") + base_overlay.appearance_flags = RESET_COLOR + add_overlay(base_overlay) + +/mob/living/simple_animal/hostile/carp/proc/add_dead_carp_overlay() + if(!random_color) + return + cut_overlays() + var/mutable_appearance/base_dead_overlay = mutable_appearance(icon, "base_dead_mouth") + base_dead_overlay.appearance_flags = RESET_COLOR + add_overlay(base_dead_overlay) + +/mob/living/simple_animal/hostile/carp/Process_Spacemove(movement_dir = 0) + return TRUE //No drifting in space for space carp! //original comments do not steal /mob/living/simple_animal/hostile/carp/AttackingTarget() . = ..() @@ -59,15 +101,34 @@ var/mob/living/carbon/human/H = target H.adjustStaminaLoss(8) +/mob/living/simple_animal/hostile/carp/death(gibbed) + . = ..() + cut_overlays() + if(!random_color || gibbed) + return + add_dead_carp_overlay() + +/mob/living/simple_animal/hostile/carp/revive() + ..() + regenerate_icons() + +/mob/living/simple_animal/hostile/carp/regenerate_icons() + cut_overlays() + if(!random_color) + return + if(stat != DEAD) + add_carp_overlay() + else + add_dead_carp_overlay() + ..() + /mob/living/simple_animal/hostile/carp/holocarp icon_state = "holocarp" icon_living = "holocarp" maxbodytemp = INFINITY gold_core_spawnable = CHEM_MOB_SPAWN_INVALID del_on_death = 1 - -/mob/living/simple_animal/hostile/carp/holocarp/carp_randomify() - return + random_color = FALSE /mob/living/simple_animal/hostile/carp/megacarp icon = 'icons/mob/alienqueen.dmi' @@ -77,13 +138,34 @@ icon_living = "megacarp" icon_dead = "megacarp_dead" icon_gib = "megacarp_gib" - maxHealth = 65 - health = 65 + maxHealth = 20 + health = 20 pixel_x = -16 mob_size = MOB_SIZE_LARGE + random_color = FALSE + obj_damage = 80 melee_damage_lower = 20 melee_damage_upper = 20 -/mob/living/simple_animal/hostile/carp/megacarp/carp_randomify() - return + var/regen_cooldown = 0 + +/mob/living/simple_animal/hostile/carp/megacarp/Initialize() + . = ..() + name = "[pick(GLOB.megacarp_first_names)] [pick(GLOB.megacarp_last_names)]" + melee_damage_lower += rand(2, 10) + melee_damage_upper += rand(10, 20) + maxHealth += rand(30, 60) + move_to_delay = rand(3, 7) + +/mob/living/simple_animal/hostile/carp/megacarp/adjustHealth(amount, updating_health = TRUE) + . = ..() + if(.) + regen_cooldown = world.time + REGENERATION_DELAY + +/mob/living/simple_animal/hostile/carp/megacarp/Life() + ..() + if(regen_cooldown < world.time) + heal_overall_damage(4) + +#undef REGENERATION_DELAY \ No newline at end of file diff --git a/icons/mob/carp.dmi b/icons/mob/carp.dmi index f5bb7f116b94465d4d768c009d9d5a02f4adbd74..5b6138ee99a491bbe9adfda473f5b43a83c86d23 100644 GIT binary patch literal 10981 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 literal 19111 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