mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-17 11:05:16 +01:00
Various spider fixes (#76528)
## About The Pull Request Fixes #76484 Then I noticed some weird stuff which slipped through the PR and poked at that too. - Spiderlings and Spiders once more have names ending in (###) - Removed an unused property on Spiderlings. - Rewrote the descriptions for a bunch of web-abilities and web-objects to be clearer and have better capitalisation. - Refactored the "Web Carcass" ability to not extend from "lay web" as it didn't need to perform most of that behaviour. - Also I renamed it and made the description give you a hint about why you would want to instantly spawn a statue. - The web effigy now despawns at the same rate as the ability cools down so you're not dumping spider statues all over the place. - I made spiderlings move at about the same speed as humans except if they're on webs in which case they're still pretty fast. To be honest I am not certain an instant statue spawning button is great to begin with and I didn't even know it was added to the game but I am not interested in messing much with the balance for now. This made me look at spiderlings enough that I'm going to try and make a new sprite for them that isn't awful. ## Why It's Good For The Game Lets you differentiate individual spiders a little bit. Makes usage of abilities clearer. ## Changelog 🆑 balance: Guard spider web statues despawn as the ability comes back off cooldown. balance: Spiderlings now only move at light speed if they're on webs, stay safe little guys. fix: Spiders once again have random numbers after their names. /🆑
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
attack_verb_simple = "bite"
|
||||
attack_sound = 'sound/weapons/bite.ogg'
|
||||
attack_vis_effect = ATTACK_EFFECT_BITE
|
||||
unique_name = 1
|
||||
unique_name = TRUE
|
||||
gold_core_spawnable = HOSTILE_SPAWN
|
||||
// VERY red, to fit the eyes
|
||||
lighting_cutoff_red = 22
|
||||
|
||||
+2
-3
@@ -53,9 +53,8 @@
|
||||
. = ..()
|
||||
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web)
|
||||
|
||||
var/datum/action/cooldown/lay_web/web_carcass/carcass_web = new(src)
|
||||
carcass_web.Grant(src)
|
||||
var/datum/action/cooldown/web_effigy/shed = new(src)
|
||||
shed.Grant(src)
|
||||
|
||||
/**
|
||||
* ### Spider Hunter
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
|
||||
/datum/action/cooldown/lay_web/solid_web
|
||||
name = "Spin Solid Web"
|
||||
desc = "Spin a web to slow down potential prey."
|
||||
desc = "Spin a web to obstruct potential prey."
|
||||
button_icon_state = "lay_solid_web"
|
||||
cooldown_time = 0 SECONDS
|
||||
webbing_time = 5 SECONDS
|
||||
@@ -114,7 +114,7 @@
|
||||
|
||||
/datum/action/cooldown/lay_web/sticky_web
|
||||
name = "Spin Sticky Web"
|
||||
desc = "Spin a web to stick intruders in place."
|
||||
desc = "Spin a sticky web to trap intruders."
|
||||
button_icon_state = "lay_sticky_web"
|
||||
cooldown_time = 20 SECONDS
|
||||
webbing_time = 3 SECONDS
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
/datum/action/cooldown/lay_web/web_spikes
|
||||
name = "Spin Web Spikes"
|
||||
desc = "Spin a spikes made out of web to stop intruders."
|
||||
desc = "Extrude silk spikes to dissuade invaders."
|
||||
button_icon_state = "lay_web_spikes"
|
||||
cooldown_time = 40 SECONDS
|
||||
webbing_time = 3 SECONDS
|
||||
@@ -138,15 +138,26 @@
|
||||
/datum/action/cooldown/lay_web/web_spikes/plant_web(turf/target_turf, obj/structure/spider/stickyweb/existing_web)
|
||||
new /obj/structure/spider/spikes(target_turf)
|
||||
|
||||
/datum/action/cooldown/lay_web/web_carcass
|
||||
name = "leave carcass"
|
||||
desc = "Shed your skin and leave a web carcass behind."
|
||||
/// Makes a solid statue which you can use as cover
|
||||
/datum/action/cooldown/web_effigy
|
||||
name = "Web Effigy"
|
||||
desc = "Shed durable webbing in the shape of your body. It is intimidating and can obstruct attackers. \
|
||||
It will decay after some time."
|
||||
button_icon = 'icons/mob/actions/actions_animal.dmi'
|
||||
button_icon_state = "shed_web_carcass"
|
||||
background_icon_state = "bg_alien"
|
||||
overlay_icon_state = "bg_alien_border"
|
||||
cooldown_time = 60 SECONDS
|
||||
webbing_time = 0 SECONDS
|
||||
|
||||
/datum/action/cooldown/lay_web/web_carcass/obstructed_by_other_web()
|
||||
return !!(locate(/obj/structure/spider/carcass) in get_turf(owner))
|
||||
/datum/action/cooldown/web_effigy/IsAvailable(feedback = FALSE)
|
||||
. = ..()
|
||||
if(!.)
|
||||
return FALSE
|
||||
if(!isturf(owner.loc))
|
||||
if (feedback)
|
||||
owner.balloon_alert(owner, "invalid location!")
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/datum/action/cooldown/lay_web/web_carcass/plant_web(turf/target_turf, obj/structure/spider/stickyweb/existing_web)
|
||||
new /obj/structure/spider/carcass(target_turf)
|
||||
/datum/action/cooldown/web_effigy/Activate()
|
||||
new /obj/structure/spider/effigy(get_turf(owner))
|
||||
|
||||
@@ -12,13 +12,12 @@
|
||||
icon_dead = "spiderling_dead"
|
||||
density = FALSE
|
||||
faction = list(FACTION_SPIDER)
|
||||
speed = 1
|
||||
speed = -0.75
|
||||
move_resist = INFINITY // YOU CAN'T HANDLE ME LET ME BE FREE LET ME BE FREE LET ME BE FREE
|
||||
speak_emote = list("hisses")
|
||||
initial_language_holder = /datum/language_holder/spider
|
||||
basic_mob_flags = FLAMMABLE_MOB | DEL_ON_DEATH
|
||||
mob_size = MOB_SIZE_TINY
|
||||
var/menu_description = "Normal spiderling."
|
||||
|
||||
unique_name = TRUE
|
||||
|
||||
@@ -59,6 +58,7 @@
|
||||
add_traits(list(TRAIT_PASSTABLE, TRAIT_VENTCRAWLER_ALWAYS, TRAIT_WEB_SURFER), INNATE_TRAIT)
|
||||
AddComponent(/datum/component/swarming)
|
||||
AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW, volume = 0.2) // they're small but you can hear 'em
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/spiderling_web)
|
||||
|
||||
// it's A-OKAY for grow_as to be null for the purposes of this component since we override that behavior anyhow.
|
||||
AddComponent(\
|
||||
@@ -96,15 +96,10 @@
|
||||
return FALSE
|
||||
basic_mob_flags &= ~DEL_ON_DEATH // we don't want to be deleted if we die while player controlled in case there's some revive schenanigans going on that can bring us back
|
||||
GLOB.spidermobs[src] = TRUE
|
||||
add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/player_spider_modifier, multiplicative_slowdown = -2) // let's pick up the tempo, we are meant to be fast after all
|
||||
if (apply_spider_antag)
|
||||
var/datum/antagonist/spider/spider_antag = new(directive)
|
||||
mind.add_antag_datum(spider_antag)
|
||||
|
||||
/mob/living/basic/spiderling/Logout()
|
||||
. = ..()
|
||||
remove_movespeed_modifier(/datum/movespeed_modifier/player_spider_modifier)
|
||||
|
||||
/mob/living/basic/spiderling/mob_negates_gravity() // in case our sisters want to give us a helping hand
|
||||
if(locate(/obj/structure/spider/stickyweb) in loc)
|
||||
return TRUE
|
||||
@@ -133,6 +128,7 @@
|
||||
ADD_TRAIT(grown, TRAIT_WAS_EVOLVED, REF(src))
|
||||
grown.faction = faction.Copy()
|
||||
grown.directive = directive
|
||||
grown.set_name()
|
||||
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
grow_as = /mob/living/basic/giant_spider/guard
|
||||
name = "guard spiderling"
|
||||
desc = "Furry and brown, it looks defenseless. This one has sparkling red eyes."
|
||||
menu_description = "Furry and brown, specializing in defense of the hive and other spides."
|
||||
|
||||
/// Will differentiate into the "ambush" giant spider.
|
||||
/mob/living/basic/spiderling/ambush
|
||||
@@ -14,7 +13,6 @@
|
||||
desc = "Furry and white, it looks defenseless. This one has sparkling pink eyes."
|
||||
icon_state = "ambush_spiderling"
|
||||
icon_dead = "ambush_spiderling_dead"
|
||||
menu_description = "Slow spider variant specializing in stalking and ambushing prey, above avarage health and damage with a strong grip."
|
||||
|
||||
/// Will differentiate into the "scout" giant spider.
|
||||
/mob/living/basic/spiderling/scout
|
||||
@@ -23,8 +21,6 @@
|
||||
desc = "Furry and black, it looks defenseless. This one has sparkling purple eyes."
|
||||
icon_state = "scout_spiderling"
|
||||
icon_dead = "scout_spiderling_dead"
|
||||
menu_description = "Fast spider variant specializing in scouting and alerting of prey ,with the ability to travel in vents."
|
||||
|
||||
|
||||
/// Will differentiate into the "hunter" giant spider.
|
||||
/mob/living/basic/spiderling/hunter
|
||||
@@ -33,7 +29,6 @@
|
||||
desc = "Furry and black, it looks defenseless. This one has sparkling purple eyes."
|
||||
icon_state = "hunter_spiderling"
|
||||
icon_dead = "hunter_spiderling_dead"
|
||||
menu_description = "Fast spider variant specializing in catching running prey and toxin injection, but has less health and damage."
|
||||
|
||||
/// Will differentiate into the "nurse" giant spider.
|
||||
/mob/living/basic/spiderling/nurse
|
||||
@@ -42,7 +37,6 @@
|
||||
desc = "Furry and black, it looks defenseless. This one has sparkling green eyes."
|
||||
icon_state = "nurse_spiderling"
|
||||
icon_dead = "nurse_spiderling_dead"
|
||||
menu_description = "Support spider variant specializing in healing their brethren and placing webbings very swiftly, but has very low amount of health and deals low damage."
|
||||
|
||||
/// Will differentiate into the "tangle" giant spider.
|
||||
/mob/living/basic/spiderling/tangle
|
||||
@@ -51,7 +45,6 @@
|
||||
desc = "Furry and brown, it looks defenseless. This one has dim brown eyes."
|
||||
icon_state = "tangle_spiderling"
|
||||
icon_dead = "tangle_spiderling_dead"
|
||||
menu_description = "Support spider variant specializing in contruction to protect their brethren, but has very low amount of health and deals low damage."
|
||||
|
||||
/// Will differentiate into the "midwife" giant spider.
|
||||
/mob/living/basic/spiderling/midwife
|
||||
@@ -60,7 +53,6 @@
|
||||
desc = "Furry and black, it looks defenseless. This one has scintillating green eyes. Might also be hiding a real knife somewhere."
|
||||
icon_state = "midwife_spiderling"
|
||||
icon_dead = "midwife_spiderling_dead"
|
||||
menu_description = "Royal spider variant specializing in reproduction and leadership, but has very low amount of health and deals low damage."
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
|
||||
/// Will differentiate into the "viper" giant spider.
|
||||
@@ -70,7 +62,6 @@
|
||||
desc = "Furry and black, it looks defenseless. This one has sparkling purple eyes."
|
||||
icon_state = "viper_spiderling"
|
||||
icon_dead = "viper_spiderling_dead"
|
||||
menu_description = "Extremly Fast spider variant specializing in catching running prey and lethal toxin injection, but has less health and damage."
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
|
||||
/// Will differentiate into the "tarantula" giant spider.
|
||||
@@ -80,7 +71,6 @@
|
||||
desc = "Furry and black, it looks defenseless. This one has abyssal red eyes."
|
||||
icon_state = "tarantula_spiderling"
|
||||
icon_dead = "tarantula_spiderling_dead"
|
||||
menu_description = "Tank spider variant with an enormous amount of health and damage, but is very slow when not on webbing. It also has a charge ability to close distance with a target after a small windup."
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
|
||||
/// Will differentiate into the "hunter" giant spider.
|
||||
@@ -90,5 +80,4 @@
|
||||
desc = "Furry and black, it looks defenseless. This one has sparkling purple eyes."
|
||||
icon_state = "flesh_spiderling"
|
||||
icon_dead = "flesh_spiderling_dead"
|
||||
menu_description = "Self-sufficient spider variant capable of healing themselves and producing webbbing fast."
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
|
||||
Reference in New Issue
Block a user