Skip to content

Commit

Permalink
fixes + add lobtrosity
Browse files Browse the repository at this point in the history
  • Loading branch information
retlaw34 committed Jun 5, 2022
1 parent 4db0e68 commit f613bab
Show file tree
Hide file tree
Showing 12 changed files with 151 additions and 60 deletions.
41 changes: 13 additions & 28 deletions code/datums/mapgen/biomes/beach_biomes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -24,50 +24,35 @@
mob_spawn_list = list(
/mob/living/simple_animal/butterfly = 1,
// /mob/living/simple_animal/butterfly/beach = 1,
// /mob/living/simple_animal/slime/pet/beach = 1,
// /mob/living/simple_animal/chicken/rabbit/normal/beach = 1,
/mob/living/simple_animal/chicken/rabbit/normal = 1,
// /mob/living/simple_animal/chicken/beach = 1,
// /mob/living/simple_animal/chick/beach = 1,
// /mob/living/simple_animal/mouse/beach = 1,
// /mob/living/simple_animal/cow/beach = 1,
// /mob/living/simple_animal/deer/beach = 1
/mob/living/simple_animal/mouse = 1,
/mob/living/simple_animal/cow = 1,
/mob/living/simple_animal/deer = 1
)
mob_spawn_chance = 1

/datum/biome/grass/dense
flora_spawn_chance = 65
flora_spawn_chance = 70
mob_spawn_list = list(
// /mob/living/simple_animal/pet/cat/cak/beach = 1,
// /mob/living/simple_animal/butterfly/beach = 4,
// /mob/living/simple_animal/hostile/retaliate/poison/snake/beach = 5,
// /mob/living/simple_animal/slime/random/beach = 3,
// /mob/living/simple_animal/hostile/poison/bees/toxin/beach = 3
/mob/living/simple_animal/slime/random = 3,

/mob/living/simple_animal/butterfly = 4,
/mob/living/simple_animal/hostile/retaliate/poison/snake = 5,
/mob/living/simple_animal/hostile/poison/bees/toxin = 3,
)
mob_spawn_chance = 2
feature_spawn_chance = 0.1
// feature_spawn_list = list(/obj/structure/spawner/cave/beach = 1)

/datum/biome/beach
open_turf_types = list(/turf/open/floor/plating/asteroid/sand/lit = 1)
// mob_spawn_list = list(/mob/living/simple_animal/crab/beach = 7, /mob/living/simple_animal/turtle/beach = 4, /mob/living/simple_animal/hostile/retaliate/gator/steppy = 1)
mob_spawn_list = list(/mob/living/simple_animal/crab = 7, /mob/living/simple_animal/turtle = 4, /mob/living/simple_animal/hostile/retaliate/gator = 1)
mob_spawn_list = list(/mob/living/simple_animal/crab = 7, /mob/living/simple_animal/hostile/asteroid/lobstrosity/beach = 5)
mob_spawn_chance = 1
feature_spawn_chance = 3
feature_spawn_list = list(
/obj/structure/chair/plastic = 7,
/obj/item/toy/beach_ball = 12,
/obj/structure/fluff/beach_umbrella = 20,
/obj/structure/fluff/beach_umbrella/engine = 18,
/obj/item/storage/cans/sixbeer = 2,
/obj/item/clothing/mask/cigarette/rollie/cannabis = 2,
/obj/item/clothing/under/shorts/purple = 4,
/obj/item/clothing/under/shorts/red = 4
)
flora_spawn_list = list(
/obj/structure/flora/tree/palm = 1
/obj/structure/flora/tree/palm = 1,
/obj/structure/flora/rock/beach = 3,
)
flora_spawn_chance = 1
flora_spawn_chance = 3

/datum/biome/beach/dense
open_turf_types = list(/turf/open/floor/plating/asteroid/sand/dense/lit = 1)
Expand Down
37 changes: 28 additions & 9 deletions code/datums/mapgen/biomes/jungle_biomes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,52 @@
flora_spawn_list = list(
/obj/structure/flora/grass/jungle = 1,
/obj/structure/flora/grass/jungle/b = 1,
/obj/structure/flora/tree/jungle = 1,
/obj/structure/flora/tree/jungle = 3,
/obj/structure/flora/rock/jungle = 1,
/obj/structure/flora/junglebush = 1,
/obj/structure/flora/junglebush/b = 1,
/obj/structure/flora/junglebush/c = 1,
/obj/structure/flora/junglebush/large = 1
/obj/structure/flora/junglebush/large = 1,
/obj/structure/spacevine/dense = 5,
/obj/structure/spacevine/dense = 2,
)
flora_spawn_chance = 20
flora_spawn_chance = 90
mob_spawn_chance = 0.3
mob_spawn_list = list(/mob/living/carbon/monkey = 5)

/datum/biome/jungle/dense
flora_spawn_chance = 30
flora_spawn_chance = 100
open_turf_types = list(/turf/open/floor/plating/grass/jungle = 1, /turf/open/floor/plating/dirt/jungle/dark = 9)
flora_spawn_list = list(
/obj/structure/flora/grass/jungle = 1,
/obj/structure/flora/grass/jungle/b = 1,
/obj/structure/flora/tree/jungle = 5,
/obj/structure/flora/rock/jungle = 1,
/obj/structure/flora/junglebush = 1,
/obj/structure/flora/junglebush/b = 1,
/obj/structure/flora/junglebush/c = 1,
/obj/structure/flora/junglebush/large = 1,
/obj/structure/spacevine/dense = 20,
)
mob_spawn_chance = 0.6
//mob_spawn_list = list(/mob/living/simple_animal/hostile/gorilla/beach = 1, /mob/living/carbon/monkey = 3)
mob_spawn_list = list(/mob/living/simple_animal/hostile/gorilla = 1, /mob/living/carbon/monkey = 3)

/datum/biome/jungle/plains
open_turf_types = list(/turf/open/floor/plating/grass/jungle/lit = 1)
flora_spawn_chance = 7
flora_spawn_chance = 50
mob_spawn_chance = 1
mob_spawn_list = list(/mob/living/carbon/monkey = 1)

/datum/biome/mudlands
open_turf_types = list(/turf/open/floor/plating/dirt/jungle/dark/lit = 1)
flora_spawn_list = list(/obj/structure/flora/grass/jungle = 1, /obj/structure/flora/grass/jungle/b = 1, /obj/structure/flora/rock/jungle = 1)
flora_spawn_chance = 3
flora_spawn_list = list(
/obj/structure/flora/grass/jungle = 1,
/obj/structure/flora/grass/jungle/b = 1,
/obj/structure/flora/rock/jungle = 1,
/obj/structure/spacevine = 5,
)
flora_spawn_chance = 20
mob_spawn_chance = 0.05
mob_spawn_list = list(/mob/living/simple_animal/hostile/poison/giant_spider/tarantula = 1)

Expand Down Expand Up @@ -78,7 +96,7 @@
/datum/biome/cave/lush
open_turf_types = list(/turf/open/floor/plating/grass/jungle = 1)
closed_turf_types = list(/turf/closed/mineral/random/jungle = 1)
flora_spawn_chance = 25
flora_spawn_chance = 50
flora_spawn_list = list(
/obj/structure/flora/tree/jungle/small = 1,
/obj/structure/flora/ausbushes/brflowers = 1,
Expand All @@ -98,7 +116,8 @@
/obj/structure/flora/ausbushes/stalkybush = 1,
/obj/structure/flora/ausbushes/sunnybush = 1,
/obj/structure/flora/ausbushes/ywflowers = 1,
/obj/structure/spacevine = 1,
/obj/structure/spacevine/dense = 20,
/obj/structure/spacevine/dense = 20,
/obj/structure/flora/rock/jungle = 1,
/obj/structure/flora/ash/space/voidmelon = 1
)
Expand Down
27 changes: 16 additions & 11 deletions code/datums/mapgen/biomes/snow_biomes.dm
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,9 @@
/mob/living/simple_animal/hostile/asteroid/polarbear/random = 30,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50,
/mob/living/simple_animal/hostile/asteroid/goldgrub = 10,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 20,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 20,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 10,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 10,
/mob/living/simple_animal/hostile/asteroid/lobstrosity = 10,
)
feature_spawn_chance = 0.1
feature_spawn_list = list(
Expand Down Expand Up @@ -72,8 +73,9 @@
/mob/living/simple_animal/hostile/asteroid/polarbear/random = 30,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50,
/mob/living/simple_animal/hostile/asteroid/goldgrub = 10,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 15,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 15,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 5,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 5,
/mob/living/simple_animal/hostile/asteroid/lobstrosity = 5,
)
mob_spawn_chance = 1

Expand All @@ -92,8 +94,9 @@
/mob/living/simple_animal/hostile/asteroid/polarbear/random = 30,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50,
/mob/living/simple_animal/hostile/asteroid/goldgrub = 10,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 15,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 15,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 5,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 5,
/mob/living/simple_animal/hostile/asteroid/lobstrosity = 5,
)
feature_spawn_chance = 0.2
feature_spawn_list = list(
Expand All @@ -113,7 +116,7 @@
flora_spawn_chance = 6
flora_spawn_list = list(
/obj/structure/flora/grass/both = 5,
/obj/structure/flora/rock/pile = 1,
/obj/structure/flora/rock/pile/icy = 1,
/obj/structure/flora/rock/icy = 1,
/obj/structure/flora/ash/space = 1,
/obj/structure/flora/ash/leaf_shroom = 1,
Expand All @@ -130,8 +133,9 @@
/mob/living/simple_animal/hostile/asteroid/polarbear/random = 30,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50,
/mob/living/simple_animal/hostile/asteroid/goldgrub = 10,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 15,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 15
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 5,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 5,
/mob/living/simple_animal/hostile/asteroid/lobstrosity = 10,
)
feature_spawn_chance = 0.1
feature_spawn_list = list(
Expand Down Expand Up @@ -159,8 +163,9 @@
/mob/living/simple_animal/hostile/asteroid/polarbear/random = 30,
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/snow = 50,
/mob/living/simple_animal/hostile/asteroid/goldgrub = 10,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 15,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 15,
/mob/living/simple_animal/hostile/asteroid/ice_demon/random = 10,
/mob/living/simple_animal/hostile/asteroid/ice_whelp = 10,
/mob/living/simple_animal/hostile/asteroid/lobstrosity = 10,
)
flora_spawn_chance = 3
flora_spawn_list = list(
Expand Down
10 changes: 5 additions & 5 deletions code/datums/mapgen/planets/jungle.dm
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
"cold" = list(
"biome_lowest_humidity" = /datum/biome/jungle_wasteland,
"biome_low_humidity" = /datum/biome/jungle/plains,
"biome_medium_humidity" = /datum/biome/jungle/plains,
"biome_medium_humidity" = /datum/biome/jungle,
"biome_high_humidity" = /datum/biome/mudlands,
"biome_highest_humidity" = /datum/biome/mudlands
),
"warm" = list(
"biome_lowest_humidity" = /datum/biome/jungle/plains,
"biome_low_humidity" = /datum/biome/jungle/plains,
"biome_lowest_humidity" = /datum/biome/jungle,
"biome_low_humidity" = /datum/biome/jungle,
"biome_medium_humidity" = /datum/biome/mudlands,
"biome_high_humidity" = /datum/biome/mudlands,
"biome_highest_humidity" = /datum/biome/jungle
Expand All @@ -30,9 +30,9 @@
"biome_highest_humidity" = /datum/biome/mudlands
),
"hot" = list(
"biome_lowest_humidity" = /datum/biome/jungle/plains,
"biome_lowest_humidity" = /datum/biome/jungle,
"biome_low_humidity" = /datum/biome/jungle,
"biome_medium_humidity" = /datum/biome/jungle,
"biome_medium_humidity" = /datum/biome/jungle/dense,
"biome_high_humidity" = /datum/biome/jungle/dense,
"biome_highest_humidity" = /datum/biome/jungle/dense
),
Expand Down
2 changes: 1 addition & 1 deletion code/datums/mapgen/planets/lava.dm
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@
"hot_cave" = list(
"biome_lowest_humidity" = /datum/biome/cave/lavaland/rocky,
"biome_low_humidity" = /datum/biome/cave/lavaland/mossy,
"biome_medium_humidity" = /datum/biome/cave/lavaland/lava,
"biome_medium_humidity" = /datum/biome/cave/lavaland/mossy,
"biome_high_humidity" = /datum/biome/cave/lavaland/lava,
"biome_highest_humidity" = /datum/biome/cave/lavaland/lava
)
Expand Down
23 changes: 23 additions & 0 deletions code/datums/status_effects/debuffs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -741,3 +741,26 @@
/datum/status_effect/metab_frozen/on_remove()
. = ..()
REMOVE_TRAIT(owner, TRAIT_NOMETABOLISM, "[STATUS_EFFECT_TRAIT]_[id]")

/datum/status_effect/stagger
id = "stagger"
status_type = STATUS_EFFECT_REFRESH
duration = 30 SECONDS
tick_interval = 1 SECONDS
alert_type = null

/datum/status_effect/stagger/on_apply()
owner.next_move_modifier *= 1.5
if(ishostile(owner))
var/mob/living/simple_animal/hostile/simple_owner = owner
simple_owner.ranged_cooldown_time *= 2.5
return TRUE

/datum/status_effect/stagger/on_remove()
. = ..()
if(QDELETED(owner))
return
owner.next_move_modifier /= 1.5
if(ishostile(owner))
var/mob/living/simple_animal/hostile/simple_owner = owner
simple_owner.ranged_cooldown_time /= 2.5
2 changes: 2 additions & 0 deletions code/game/turfs/open/floor/plating/asteroid.dm
Original file line number Diff line number Diff line change
Expand Up @@ -314,6 +314,8 @@
icon_state = "[environment_type][rand(1,8)]"

/turf/open/floor/plating/asteroid/iceberg/lit
light_range = 2
light_power = 1


/turf/open/floor/plating/asteroid/snow/icemoon
Expand Down
10 changes: 4 additions & 6 deletions code/game/turfs/open/floor/plating/planet.dm
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,6 @@
clawfootstep = FOOTSTEP_SAND
heavyfootstep = FOOTSTEP_GENERIC_HEAVY
tiled_dirt = FALSE
light_range = 2
light_power = 0.6
light_color = COLOR_VERY_LIGHT_GRAY

/turf/open/floor/plating/dirt/dark
icon_state = "greenerdirt"
Expand Down Expand Up @@ -56,16 +53,17 @@
baseturfs = /turf/open/floor/plating/dirt/jungle
smooth_icon = 'icons/turf/floors/junglegrass.dmi'

/turf/open/floor/plating/grass/jungle/lit
light_range = 2
light_power = 1

/turf/closed/mineral/random/jungle
turf_type = /turf/open/floor/plating/grass/jungle
baseturfs = /turf/open/floor/plating/grass/jungle
mineralSpawnChanceList = list(/obj/item/stack/ore/uranium = 5, /obj/item/stack/ore/diamond = 1, /obj/item/stack/ore/gold = 10,
/obj/item/stack/ore/silver = 12, /obj/item/stack/ore/plasma = 20, /obj/item/stack/ore/iron = 40, /obj/item/stack/ore/titanium = 11,
/obj/item/stack/ore/bluespace_crystal = 1)

/turf/open/floor/plating/grass/jungle/lit
light_range = 2
light_power = 1

/turf/open/floor/plating/dirt/jungle/dark/lit
light_range = 2
Expand Down
13 changes: 13 additions & 0 deletions code/modules/mining/equipment/kinetic_crusher.dm
Original file line number Diff line number Diff line change
Expand Up @@ -920,3 +920,16 @@
. += "[icon_state]_uncharged"
if(wielded)
. += "[icon_state]_lit"

/obj/item/crusher_trophy/lobster_claw
name = "lobster claw"
icon_state = "lobster_claw"
desc = "A lobster claw."
denied_type = /obj/item/crusher_trophy/lobster_claw
bonus_value = 1

/obj/item/crusher_trophy/lobster_claw/effect_desc()
return "mark detonation to briefly stagger the target for [bonus_value] seconds"

/obj/item/crusher_trophy/lobster_claw/on_mark_detonation(mob/living/target, mob/living/user)
target.apply_status_effect(/datum/status_effect/stagger, bonus_value SECONDS)
2 changes: 2 additions & 0 deletions code/modules/mob/living/simple_animal/hostile/hostile.dm
Original file line number Diff line number Diff line change
Expand Up @@ -599,6 +599,8 @@
if(!can_charge_target(target))
return FALSE
Shake(15, 15, 1 SECONDS)
var/obj/effect/temp_visual/decoy/new_decoy = new /obj/effect/temp_visual/decoy(loc,src)
animate(new_decoy, alpha = 0, color = "#5a5858", transform = matrix()*2, time = 3)
target.visible_message("<span class='danger'>[src] prepares to pounce!</span>")
addtimer(CALLBACK(src, .proc/handle_charge_target, target), 1.5 SECONDS, TIMER_STOPPABLE)

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
/**
* Lobstrosities, the poster boy of charging AI mobs. Drops crab meat and bones.
* Outside of charging, it's intended behavior is that it is generally slow moving, but makes up for that with a knockdown attack to score additional hits.
*/
/mob/living/simple_animal/hostile/asteroid/lobstrosity
name = "arctic lobstrosity"
desc = "A marvel of evolution gone wrong, the frosty ice produces underground lakes where these ill tempered seafood gather. Beware its charge."
icon = 'icons/mob/icemoon/icemoon_monsters.dmi'
icon_state = "arctic_lobstrosity"
icon_living = "arctic_lobstrosity"
icon_dead = "arctic_lobstrosity_dead"
mob_biotypes = MOB_ORGANIC|MOB_BEAST
mouse_opacity = MOUSE_OPACITY_ICON
friendly_verb_continuous = "chitters at"
friendly_verb_simple = "chits at"
speak_emote = list("chitters")
speed = 3
move_to_delay = 10
maxHealth = 150
health = 150
obj_damage = 15
melee_damage_lower = 15
melee_damage_upper = 19
attack_verb_continuous = "snips"
attack_verb_simple = "snip"
attack_sound = 'sound/weapons/bite.ogg'
//attack_vis_effect = ATTACK_EFFECT_BITE //the closest we have to a crustacean pinching attack effect rn.
weather_immunities = list("snow")
vision_range = 5
aggro_vision_range = 7
charger = TRUE
charge_distance = 4
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/rawcrab = 2, /obj/item/stack/sheet/bone = 2)
robust_searching = TRUE
footstep_type = FOOTSTEP_MOB_CLAW
crusher_loot = /obj/item/crusher_trophy/lobster_claw

/mob/living/simple_animal/hostile/asteroid/lobstrosity/beach
name = "tropical lobstrosity"
desc = "A marvel of evolution gone wrong, on the tropical beaches, it's diet of crabs makes it have a red hued shell. Beware its charge."
icon_state = "lobstrosity"
icon_living = "lobstrosity"
icon_dead = "lobstrosity_dead"
1 change: 1 addition & 0 deletions shiptest.dme
Original file line number Diff line number Diff line change
Expand Up @@ -2619,6 +2619,7 @@
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\hivelord.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice demon.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\ice whelp.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\lobstrosity.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\mining_mobs.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\polarbear.dm"
#include "code\modules\mob\living\simple_animal\hostile\mining_mobs\wolf.dm"
Expand Down

0 comments on commit f613bab

Please sign in to comment.