Skip to content

Commit

Permalink
Updates Space Carp (ParadiseSS13#12322)
Browse files Browse the repository at this point in the history
  • Loading branch information
Fox-McCloud authored and variableundefined committed Sep 17, 2019
1 parent 11f4fd6 commit ce1b8c7
Show file tree
Hide file tree
Showing 5 changed files with 243 additions and 26 deletions.
2 changes: 2 additions & 0 deletions code/_globalvars/lists/names.dm
Original file line number Diff line number Diff line change
Expand Up @@ -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"))
Expand Down
134 changes: 108 additions & 26 deletions code/modules/mob/living/simple_animal/hostile/carp.dm
Original file line number Diff line number Diff line change
@@ -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
Expand All @@ -27,47 +32,103 @@
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()
. = ..()
if(. && ishuman(target))
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'
Expand All @@ -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
Binary file modified icons/mob/carp.dmi
Binary file not shown.
79 changes: 79 additions & 0 deletions strings/names/megacarp1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
Legendary
Epic
Rare
Common
Elusive
Lackluster
Bloody
Strange
Unremarkable
Scarcely Lethal
Mildly Menacing
Truly Feared
Wicked
Nasty
Normal
Unique
Vintage
Genuine
Unusual
Haunted
Big
Small
The
Savage
Hungry
Sated
Despicable
Nice
Helpful
Rogue
Spotted
Deep Blue
Quick
Slow
Beloved
Aggressive
Angry
Bewildered
Clumsy
Defeated
Grumpy
Itchy
Scratchy
Lazy
Mysterious
Repulsive
Thoughtless
Broad
Chubby
Crooked
Curved
Deep
Flat
High
Hollow
Low
Narrow
Round
Shallow
Robust
Skinny
Square Nose
Steep Nose
Renegade
Ancient
Old
Fast
Brief
Short
Frustratingly Elusive
Curvy
Fitted
Forked
Rugged
Sinuous
Slimy
Sweeping
Twisted
Crooked
54 changes: 54 additions & 0 deletions strings/names/megacarp2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
Laser Shark
Hammerhead Shark
Wobbegong Shark
Smooth-Hound Shark
Thresher Shark
Sand Shark
Mackerel Shark
Sawshark
Angel Shark
Cat Shark
Space Shark
Cow Shark
Goblin Shark
Ghast Shark
Ghost Shark
Nightmare Shark
Sharkling
Sharknado
Megalodon
Minilodon
Dog Shark
Moby Dick
Flipper Shark
Space Kraken
Great White Shark
Asteroid Shark
Meteor Shark
Derelict Shark
Lava Shark
Whale Shark
Traitor Shark
Magishark
Chaos Shark
Incinerator Shark
Shredder Shark
Shawshark
Judicator Shark
Snapjaw Shark
Bloodhound Shark
Vermin Shark
Chomper Shark
Megalomaniac Shark
Frog Shark
Buffalo Shark
Lizard Shark
Pulse Shark
Baby Gargantuan Shark
Flying Shark
Spacetime Shark
Freon Shark
Plasma Shark
Guru Shark
Toxic Shark
Spider Shark

0 comments on commit ce1b8c7

Please sign in to comment.