Adds some fish (#16736)

* fimsh

* fish dont fear me

* gem suggestions

* Update code/modules/mob/living/simple_animal/hostile/retaliate/aquatic.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Update code/modules/mob/living/simple_animal/hostile/retaliate/aquatic.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

* Minor Corrections

---------

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
This commit is contained in:
kyres1
2023-07-25 12:20:18 +00:00
committed by GitHub
co-authored by SleepyGemmy
parent 4c71f135c4
commit 20702ae15b
8 changed files with 168 additions and 1 deletions
+22
View File
@@ -630,3 +630,25 @@ var/list/holder_mob_icon_cache = list()
icon_state = "schlorrgo_fat"
item_state = "schlorrgo_fat"
w_class = ITEMSIZE_LARGE
/obj/item/holder/fish
name = "fish"
attack_verb = list("fished", "disrespected", "smacked", "smackereled")
icon = 'icons/mob/npc/fish.dmi'
icon_state = "fish_rest"
item_state = "fish_rest"
hitsound = 'sound/effects/snap.ogg'
force = 4//Being hit with an entire fish typically hurts
throwforce = 4//Having an entire fish thrown at you also hurts
throw_speed = 1//Because it's cinematic
/obj/item/holder/fish/gupper
icon_state = "gupper_rest"
item_state = "gupper_rest"
/obj/item/holder/fish/cod
icon_state = "cod_rest"
item_state = "cod_rest"
hitsound = 'sound/effects/snap.ogg'
force = 6//quite large fishey
throwforce = 6
@@ -0,0 +1,35 @@
//For things that swim and don't do much else.
/mob/living/simple_animal/aquatic
name = "aquatic animal"
desc = DESC_PARENT
icon = 'icons/mob/npc/fish.dmi'
icon_state = "fish"
item_state = "fish"
icon_living = "fish"
icon_dead = "fish_dead"
icon_rest = "fish_rest"
meat_type = /obj/item/reagent_containers/food/snacks/fish/fishfillet
organ_names = list("snout", "body", "tail fin", "left pectoral fin", "right pectoral fin", "dorsal fin")
response_help = "brushes"
response_disarm = "attempts to push"
response_harm = "injures"
var/global/list/suitable_turf_types = list(
/turf/simulated/floor/beach/water,
/turf/simulated/floor/beach/coastline,
/turf/simulated/floor/exoplanet/water
)
/mob/living/simple_animal/aquatic/Move(newloc)
if(is_type_in_list(newloc, suitable_turf_types))
alpha = 95//Becomes transparent because it's underwater
icon_state = "[icon_state]"
return ..()//Proceed as normal.
/mob/living/simple_animal/aquatic/Life()
var/turf/T = get_turf(src)
if (!(is_type_in_list(T,suitable_turf_types)))
alpha = 255//Becomes a solid color because it is revealed
icon_state = "[icon_state]_rest"
..()
@@ -0,0 +1,34 @@
/mob/living/simple_animal/aquatic/fish
name = "aquatic creature"
desc = "A sort of bronze-belly aquatic lifeform that takes on the appearance of a fish. It's small and rather docile."
speak = list("Glub!")
speak_emote = list("glubs", "glibs")
emote_hear = list("glubs","glibs")
emote_see = list("flops around", "inflates its gills")
speak_chance = 1
see_in_dark = 6
density = FALSE
mob_size = MOB_SMALL
item_state = "fish"
holder_type = /obj/item/holder/fish
/mob/living/simple_animal/aquatic/fish/cod
desc = "A muscular, elongated fish with a sleek appearance. Despite its size, it seems particularly passive."
speak_chance = 0
icon_state = "cod"
item_state = "cod"
icon_living = "cod"
icon_dead = "cod_dead"
icon_rest = "cod_rest"
item_state = "cod"
holder_type = /obj/item/holder/fish/cod
/mob/living/simple_animal/aquatic/fish/gupper
icon_state = "gupper"
item_state = "gupper"
icon_living = "gupper"
icon_dead = "gupper_dead"
icon_rest = "gupper_rest"
item_state = "gupper"
@@ -0,0 +1,66 @@
//For things that swim and don't do much else, but also bite!
/mob/living/simple_animal/hostile/retaliate/aquatic
name = "aquatic animal"
desc = DESC_PARENT
icon = 'icons/mob/npc/fish.dmi'
icon_state = "fish"
item_state = "fish"
icon_living = "fish"
icon_dead = "fish_dead"
icon_rest = "fish_rest"
meat_type = /obj/item/reagent_containers/food/snacks/fish/fishfillet
organ_names = list("snout", "body", "tail fin", "left pectoral fin", "right pectoral fin", "dorsal fin")
response_help = "brushes"
response_disarm = "attempts to push"
response_harm = "injures"
var/global/list/suitable_turf_types = list(
/turf/simulated/floor/beach/water,
/turf/simulated/floor/beach/coastline,
/turf/simulated/floor/exoplanet/water
)
/mob/living/simple_animal/hostile/retaliate/aquatic/Move(newloc)
if(is_type_in_list(newloc, suitable_turf_types))
alpha = 95//Becomes transparent because it's underwater
icon_state = "[icon_state]"
return ..()//Proceed as normal.
/mob/living/simple_animal/hostile/retaliate/aquatic/Life()
var/turf/T = get_turf(src)
if (!(is_type_in_list(T,suitable_turf_types)))
alpha = 255//Becomes a solid color because it is revealed
icon_state = "[icon_state]_rest"
..()
/mob/living/simple_animal/hostile/retaliate/aquatic/thresher
name = "carnivorous aquatic creature"
desc = "A threatening-looking aquatic creature with a mouth full of densely-packed, razor sharp teeth."
emote_see = list("swishes around elegantly", "floats threateningly")
see_in_dark = 6
mob_size = MOB_LARGE
icon_state = "thresher"
icon_living = "thresher"
icon_dead = "thresher_dead"
icon_rest = "thresher_rest"
health = 230
maxHealth = 230
melee_damage_lower = 40
melee_damage_upper = 70
armor_penetration = 80
//Admin shark for admin fun because why not, not meant for normal gameplay
/mob/living/simple_animal/hostile/retaliate/aquatic/thresher/deep_water
name = "large toothed aquatic creature"
desc = "A threatening-looking aquatic creature with a mouth full of densely-packed, razor sharp teeth. This one has grown to a substantial size."
health = 370
maxHealth = 370
melee_damage_lower = 50
melee_damage_upper = 90
armor_penetration = 100
/mob/living/simple_animal/hostile/retaliate/aquatic/thresher/deep_water/attackby(obj/item/O, mob/user)
if(istype(O, /obj/item/melee/baton))
user.gib()
user.visible_message(SPAN_DANGER("[user] was torn to shreds by a shark while attempting to attack with \the [O]!"))
return TRUE