mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 20:16:55 +01:00
Updates Space Carp (#12322)
This commit is contained in:
committed by
variableundefined
parent
11f4fd6e05
commit
ce1b8c76e5
@@ -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"))
|
||||
|
||||
@@ -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
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 11 KiB |
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user