mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Spider Infestation Balance Rebalance Expansion Part 1 (#75204)
## About The Pull Request https://hackmd.io/dxhPOOdRRKW7siqPbpfmYQ?view The HackMD goes in-depth into what this PR is about ## Content ### Ambush Spider   ### Scout Spider    ## Tangle    ### Spiderlings    ## Why It's Good For The Game Currently, spiders have plenty of issues that make them a very 2d mentional antag they kill,die, and respawn which is boring and leads to a bunch of balance issues for their current design this PR both fixes the current issues spiders have and adds more depth into the antag. ## Changelog 🆑 add: Added 3 new spider types add: Added more spider abilities balance: Rebalanced spiders fix: Fixes spiderlings having density /🆑 --------- Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: Jacquerel <hnevard@gmail.com>
This commit is contained in:
co-authored by
Zephyr
MrMelbert
Jacquerel
parent
36b0f9052f
commit
419dd2b754
@@ -19,9 +19,9 @@
|
||||
response_disarm_continuous = "gently pushes aside"
|
||||
response_disarm_simple = "gently push aside"
|
||||
initial_language_holder = /datum/language_holder/spider
|
||||
speed = 4
|
||||
maxHealth = 80
|
||||
health = 80
|
||||
speed = 5
|
||||
maxHealth = 125
|
||||
health = 125
|
||||
damage_coeff = list(BRUTE = 1, BURN = 1.25, TOX = 1, CLONE = 1, STAMINA = 1, OXY = 1)
|
||||
basic_mob_flags = FLAMMABLE_MOB
|
||||
status_flags = NONE
|
||||
@@ -57,7 +57,7 @@
|
||||
/// The message that the mother spider left for this spider when the egg was layed.
|
||||
var/directive = ""
|
||||
/// Short description of what this mob is capable of, for radial menu uses
|
||||
var/menu_description = "Versatile spider variant for frontline combat with high health and damage."
|
||||
var/menu_description = "Tanky and strong for the defense of the nest and other spiders."
|
||||
/// If true then you shouldn't be told that you're a spider antagonist as soon as you are placed into this mob
|
||||
var/apply_spider_antag = TRUE
|
||||
|
||||
|
||||
+186
-8
@@ -1,3 +1,62 @@
|
||||
/**
|
||||
* ### Spider Ambush
|
||||
* A subtype of the giant spider which is slower, stronger and able to sneak into its surroundings to pull pray aggressively.
|
||||
* This spider is only slightly slower than a human.
|
||||
*/
|
||||
/mob/living/basic/giant_spider/ambush
|
||||
name = "ambush spider"
|
||||
desc = "Furry and white, it makes you shudder to look at it. This one has sparkling pink eyes."
|
||||
icon_state = "ambush"
|
||||
icon_living = "ambush"
|
||||
icon_dead = "ambush_dead"
|
||||
gender = FEMALE
|
||||
maxHealth = 125
|
||||
health = 125
|
||||
obj_damage = 45
|
||||
melee_damage_lower = 25
|
||||
melee_damage_upper = 30
|
||||
speed = 5
|
||||
player_speed_modifier = -3.1
|
||||
menu_description = "Slow spider variant specializing in stalking and ambushing prey, above avarage health and damage with a strong grip."
|
||||
|
||||
/mob/living/basic/giant_spider/ambush/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_STRONG_GRABBER, INNATE_TRAIT)
|
||||
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/slow_web)
|
||||
|
||||
var/datum/action/cooldown/sneak/spider/sneak_web = new(src)
|
||||
sneak_web.Grant(src)
|
||||
|
||||
/**
|
||||
* ### Spider Guard
|
||||
* A subtype of the giant spider which is similar on every single way,
|
||||
* This spider is only slightly slower than a human.
|
||||
*/
|
||||
/mob/living/basic/giant_spider/guard
|
||||
name = "guard spider"
|
||||
desc = "Furry and black, it makes you shudder to look at it. This one has deep red eyes."
|
||||
icon_state = "guard"
|
||||
icon_living = "guard"
|
||||
icon_dead = "guard_dead"
|
||||
gender = FEMALE
|
||||
maxHealth = 160
|
||||
health = 160
|
||||
melee_damage_lower = 20
|
||||
melee_damage_upper = 25
|
||||
obj_damage = 45
|
||||
speed = 5
|
||||
player_speed_modifier = -4
|
||||
menu_description = "Tanky and strong for the defense of the nest and other spiders."
|
||||
|
||||
/mob/living/basic/giant_spider/guard/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
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)
|
||||
|
||||
/**
|
||||
* ### Spider Hunter
|
||||
* A subtype of the giant spider which is faster, has toxin injection, but less health and damage.
|
||||
@@ -9,8 +68,8 @@
|
||||
icon_state = "hunter"
|
||||
icon_living = "hunter"
|
||||
icon_dead = "hunter_dead"
|
||||
maxHealth = 50
|
||||
health = 50
|
||||
maxHealth = 80
|
||||
health = 80
|
||||
melee_damage_lower = 15
|
||||
melee_damage_upper = 20
|
||||
poison_per_bite = 5
|
||||
@@ -18,6 +77,41 @@
|
||||
player_speed_modifier = -3.1
|
||||
menu_description = "Fast spider variant specializing in catching running prey and toxin injection, but has less health and damage."
|
||||
|
||||
/mob/living/basic/giant_spider/hunter/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/fast_web)
|
||||
|
||||
/**
|
||||
* ### Spider Scout
|
||||
* A subtype of the giant spider which is faster, has thermal vision, but less health and damage.
|
||||
* This spider is only slightly faster than a human.
|
||||
*/
|
||||
/mob/living/basic/giant_spider/scout
|
||||
name = "scout spider"
|
||||
desc = "Furry and blueish black, it makes you shudder to look at it. This one has sparkling blue eyes."
|
||||
icon_state = "scout"
|
||||
icon_living = "scout"
|
||||
icon_dead = "scout_dead"
|
||||
maxHealth = 65
|
||||
health = 65
|
||||
obj_damage = 10
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 10
|
||||
poison_per_bite = 10
|
||||
poison_type = /datum/reagent/peaceborg/confuse
|
||||
speed = 2.8
|
||||
player_speed_modifier = -3.1
|
||||
sight = SEE_SELF|SEE_MOBS
|
||||
menu_description = "Fast spider variant specializing in scouting and alerting of prey, with the ability to travel in vents."
|
||||
|
||||
/mob/living/basic/giant_spider/scout/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
|
||||
|
||||
var/datum/action/command_spiders/communication_spiders/spiders_communication = new(src)
|
||||
spiders_communication.Grant(src)
|
||||
|
||||
/**
|
||||
* ### Spider Nurse
|
||||
*
|
||||
@@ -37,6 +131,8 @@
|
||||
health = 40
|
||||
melee_damage_lower = 5
|
||||
melee_damage_upper = 10
|
||||
speed = 4
|
||||
player_speed_modifier = -3.1
|
||||
web_speed = 0.25
|
||||
web_type = /datum/action/cooldown/lay_web/sealer
|
||||
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."
|
||||
@@ -55,6 +151,62 @@
|
||||
complete_text = "%SOURCE% wraps the wounds of %TARGET%.",\
|
||||
)
|
||||
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web)
|
||||
|
||||
/**
|
||||
* ### Tangle Spider
|
||||
*
|
||||
* A subtype of the giant spider which specializes in support skills.
|
||||
* Tangle spiders can place down webbing in a quarter of the time that other species plus has an expanded arsenal of traps and web structures to place to benefit the nest.
|
||||
* Note that it can heal itself.
|
||||
*/
|
||||
/mob/living/basic/giant_spider/tangle
|
||||
name = "tangle spider"
|
||||
desc = "Furry and brown, it makes you shudder to look at it. This one has dim brown eyes."
|
||||
icon_state = "tangle"
|
||||
icon_living = "tangle"
|
||||
icon_dead = "tangle_dead"
|
||||
gender = FEMALE
|
||||
butcher_results = list(/obj/item/food/meat/slab/spider = 2, /obj/item/food/spiderleg = 8, /obj/item/food/spidereggs = 4)
|
||||
maxHealth = 40
|
||||
health = 40
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 1
|
||||
poison_per_bite = 5
|
||||
poison_type = /datum/reagent/toxin/acid
|
||||
obj_damage = 40
|
||||
web_speed = 0.25
|
||||
speed = 4
|
||||
player_speed_modifier = -3.1
|
||||
web_type = /datum/action/cooldown/lay_web/sealer
|
||||
menu_description = "Support spider variant specializing in contruction to protect their brethren, but has very low amount of health and deals low damage."
|
||||
|
||||
/mob/living/basic/giant_spider/tangle/Initialize(mapload)
|
||||
. = ..()
|
||||
var/datum/action/cooldown/lay_web/solid_web/web_solid = new(src)
|
||||
web_solid.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/lay_web/web_passage/passage_web = new(src)
|
||||
passage_web.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/lay_web/web_spikes/spikes_web = new(src)
|
||||
spikes_web.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/lay_web/sticky_web/web_sticky = new(src)
|
||||
web_sticky.Grant(src)
|
||||
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web)
|
||||
|
||||
AddComponent(/datum/component/healing_touch,\
|
||||
heal_brute = maxHealth * 0.5,\
|
||||
heal_burn = maxHealth * 0.5,\
|
||||
self_targetting = HEALING_TOUCH_SELF_ONLY,\
|
||||
interaction_key = DOAFTER_SOURCE_SPIDER,\
|
||||
valid_targets_typecache = typecacheof(list(/mob/living/basic/giant_spider/tangle)),\
|
||||
action_text = "%SOURCE% begins mending themselves...",\
|
||||
complete_text = "%SOURCE%'s wounds mend together.",\
|
||||
)
|
||||
|
||||
/**
|
||||
* ### Tarantula
|
||||
*
|
||||
@@ -86,7 +238,7 @@
|
||||
charge = new /datum/action/cooldown/mob_cooldown/charge/basic_charge()
|
||||
charge.Grant(src)
|
||||
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/tarantula_web)
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/slow_web)
|
||||
|
||||
/mob/living/basic/giant_spider/tarantula/Destroy()
|
||||
QDEL_NULL(charge)
|
||||
@@ -134,17 +286,31 @@
|
||||
icon_state = "midwife"
|
||||
icon_living = "midwife"
|
||||
icon_dead = "midwife_dead"
|
||||
maxHealth = 60
|
||||
health = 60
|
||||
maxHealth = 250
|
||||
health = 250
|
||||
melee_damage_lower = 10
|
||||
melee_damage_upper = 15
|
||||
speed = 4
|
||||
player_speed_modifier = -3.1
|
||||
gold_core_spawnable = NO_SPAWN
|
||||
web_speed = 0.5
|
||||
web_type = /datum/action/cooldown/lay_web/sealer
|
||||
menu_description = "Royal spider variant specializing in reproduction and leadership, but has very low amount of health and deals low damage."
|
||||
menu_description = "Royal spider variant specializing in reproduction and leadership, deals low damage."
|
||||
|
||||
/mob/living/basic/giant_spider/midwife/Initialize(mapload)
|
||||
. = ..()
|
||||
var/datum/action/cooldown/lay_web/solid_web/web_solid = new(src)
|
||||
web_solid.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/lay_web/web_passage/passage_web = new(src)
|
||||
passage_web.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/lay_web/web_spikes/spikes_web = new(src)
|
||||
spikes_web.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/lay_web/sticky_web/web_sticky = new(src)
|
||||
web_sticky.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/wrap/wrapping = new(src)
|
||||
wrapping.Grant(src)
|
||||
|
||||
@@ -160,6 +326,8 @@
|
||||
var/datum/action/command_spiders/not_hivemind_talk = new(src)
|
||||
not_hivemind_talk.Grant(src)
|
||||
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web)
|
||||
|
||||
/**
|
||||
* ### Giant Ice Spider
|
||||
*
|
||||
@@ -264,7 +432,9 @@
|
||||
icon_living = "flesh_spider"
|
||||
icon_dead = "flesh_spider_dead"
|
||||
web_speed = 0.7
|
||||
menu_description = "Self-sufficient spider variant capable of healing themselves and producing webbbing fast, but has less health and damage."
|
||||
maxHealth = 90
|
||||
health = 90
|
||||
menu_description = "Self-sufficient spider variant capable of healing themselves and producing webbbing fast."
|
||||
|
||||
/mob/living/basic/giant_spider/hunter/flesh/Initialize(mapload)
|
||||
. = ..()
|
||||
@@ -290,6 +460,14 @@
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
/mob/living/basic/giant_spider/hunter/flesh/Initialize(mapload)
|
||||
. = ..()
|
||||
var/datum/action/cooldown/lay_web/web_spikes/spikes_web = new(src)
|
||||
spikes_web.Grant(src)
|
||||
|
||||
var/datum/action/cooldown/lay_web/sticky_web/web_sticky = new(src)
|
||||
web_sticky.Grant(src)
|
||||
|
||||
/**
|
||||
* ### Viper Spider (Wizard)
|
||||
*
|
||||
@@ -364,6 +542,6 @@
|
||||
/mob/living/basic/giant_spider/maintenance/Initialize(mapload)
|
||||
. = ..()
|
||||
ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT)
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/duct_spider_web)
|
||||
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web)
|
||||
AddElement(/datum/element/ai_retaliate)
|
||||
AddElement(/datum/element/tiny_mob_hunter)
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
return TRUE
|
||||
|
||||
/**
|
||||
* Sends a message to all spiders from the target.
|
||||
* Sends a big message to all spiders from the target.
|
||||
*
|
||||
* Allows the user to send a message to all spiders that exist. Ghosts will also see the message.
|
||||
* Arguments:
|
||||
@@ -61,10 +61,28 @@
|
||||
/datum/action/command_spiders/proc/spider_command(mob/living/user, message)
|
||||
if(!message)
|
||||
return
|
||||
var/my_message = span_spider("<b>Command from [user]:</b> [message]")
|
||||
var/my_message = format_message(user,message)
|
||||
for(var/mob/living/basic/spider as anything in GLOB.spidermobs)
|
||||
to_chat(spider, my_message)
|
||||
for(var/ghost in GLOB.dead_mob_list)
|
||||
var/link = FOLLOW_LINK(ghost, user)
|
||||
to_chat(ghost, "[link] [my_message]")
|
||||
user.log_talk(message, LOG_SAY, tag = "spider command")
|
||||
|
||||
/**
|
||||
* Formats the string to have an appropiate size and text color
|
||||
*/
|
||||
/datum/action/command_spiders/proc/format_message(mob/living/user, message)
|
||||
return span_spiderbroodmother("<b>Command from [user]:</b> [message]")
|
||||
|
||||
/**
|
||||
* Sends a small message to all currently living spiders.
|
||||
*/
|
||||
/datum/action/command_spiders/communication_spiders
|
||||
name = "Communication"
|
||||
desc = "Send a report to all living spiders."
|
||||
button_icon = 'icons/mob/actions/actions_animal.dmi'
|
||||
button_icon_state = "message"
|
||||
|
||||
/datum/action/command_spiders/communication_spiders/format_message(mob/living/user, message)
|
||||
return span_spiderscout("<b>Report from [user]:</b> [message]")
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
overlay_icon_state = "bg_alien_border"
|
||||
check_flags = AB_CHECK_CONSCIOUS | AB_CHECK_INCAPACITATED
|
||||
///How long it takes for a broodmother to lay eggs.
|
||||
var/egg_lay_time = 12 SECONDS
|
||||
var/egg_lay_time = 4 SECONDS
|
||||
///The type of egg we create
|
||||
var/egg_type = /obj/effect/mob_spawn/ghost_role/spider
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
overlay_icon_state = "bg_alien_border"
|
||||
check_flags = AB_CHECK_CONSCIOUS | AB_CHECK_INCAPACITATED
|
||||
cooldown_time = 0 SECONDS
|
||||
melee_cooldown_time = 0
|
||||
/// How long it takes to lay a web
|
||||
var/webbing_time = 4 SECONDS
|
||||
|
||||
@@ -83,3 +84,69 @@
|
||||
|
||||
/datum/action/cooldown/lay_web/sealer/obstructed_by_other_web()
|
||||
return !!(locate(/obj/structure/spider/stickyweb/sealed) in get_turf(owner))
|
||||
|
||||
/datum/action/cooldown/lay_web/solid_web
|
||||
name = "Spin Solid Web"
|
||||
desc = "Spin a web to slow down potential prey."
|
||||
button_icon_state = "lay_solid_web"
|
||||
cooldown_time = 0 SECONDS
|
||||
webbing_time = 5 SECONDS
|
||||
|
||||
/datum/action/cooldown/lay_web/solid_web/obstructed_by_other_web()
|
||||
return !!(locate(/obj/structure/spider/solid) in get_turf(owner))
|
||||
|
||||
/datum/action/cooldown/lay_web/solid_web/plant_web(turf/target_turf, obj/structure/spider/stickyweb/existing_web)
|
||||
new /obj/structure/spider/solid(target_turf)
|
||||
|
||||
/datum/action/cooldown/lay_web/web_passage
|
||||
name = "Spin Web Passage"
|
||||
desc = "Spin a web passage to hide the nest from prey view."
|
||||
button_icon_state = "lay_web_passage"
|
||||
cooldown_time = 0 SECONDS
|
||||
webbing_time = 4 SECONDS
|
||||
|
||||
/datum/action/cooldown/lay_web/web_passage/obstructed_by_other_web()
|
||||
return !!(locate(/obj/structure/spider/passage) in get_turf(owner))
|
||||
|
||||
/datum/action/cooldown/lay_web/web_passage/plant_web(turf/target_turf, obj/structure/spider/stickyweb/existing_web)
|
||||
new /obj/structure/spider/passage(target_turf)
|
||||
|
||||
|
||||
/datum/action/cooldown/lay_web/sticky_web
|
||||
name = "Spin Sticky Web"
|
||||
desc = "Spin a web to stick intruders in place."
|
||||
button_icon_state = "lay_sticky_web"
|
||||
cooldown_time = 20 SECONDS
|
||||
webbing_time = 3 SECONDS
|
||||
|
||||
/datum/action/cooldown/lay_web/sticky_web/obstructed_by_other_web()
|
||||
return !!(locate(/obj/structure/spider/sticky) in get_turf(owner))
|
||||
|
||||
/datum/action/cooldown/lay_web/sticky_web/plant_web(turf/target_turf, obj/structure/spider/stickyweb/existing_web)
|
||||
new /obj/structure/spider/sticky(target_turf)
|
||||
|
||||
/datum/action/cooldown/lay_web/web_spikes
|
||||
name = "Spin Web Spikes"
|
||||
desc = "Spin a spikes made out of web to stop intruders."
|
||||
button_icon_state = "lay_web_spikes"
|
||||
cooldown_time = 40 SECONDS
|
||||
webbing_time = 3 SECONDS
|
||||
|
||||
/datum/action/cooldown/lay_web/web_spikes/obstructed_by_other_web()
|
||||
return !!(locate(/obj/structure/spider/spikes) in get_turf(owner))
|
||||
|
||||
/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."
|
||||
button_icon_state = "shed_web_carcass"
|
||||
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/lay_web/web_carcass/plant_web(turf/target_turf, obj/structure/spider/stickyweb/existing_web)
|
||||
new /obj/structure/spider/carcass(target_turf)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
/datum/action/cooldown/sneak/spider
|
||||
name = "Sneak"
|
||||
desc = "Blend into the webs to stalk your prey."
|
||||
button_icon = 'icons/mob/actions/actions_animal.dmi'
|
||||
button_icon_state = "web_sneak"
|
||||
background_icon_state = "bg_alien"
|
||||
overlay_icon_state = "bg_alien_border"
|
||||
@@ -18,12 +18,13 @@
|
||||
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
|
||||
|
||||
// we have _some_ bite
|
||||
melee_damage_lower = 2
|
||||
melee_damage_upper = 4
|
||||
melee_damage_lower = 1
|
||||
melee_damage_upper = 2
|
||||
|
||||
health = 5 // very low.
|
||||
maxHealth = 5
|
||||
@@ -60,7 +61,7 @@
|
||||
// it's A-OKAY for grow_as to be null for the purposes of this component since we override that behavior anyhow.
|
||||
AddComponent(\
|
||||
/datum/component/growth_and_differentiation,\
|
||||
growth_time = 10 MINUTES,\
|
||||
growth_time = 1 MINUTES,\
|
||||
growth_path = grow_as,\
|
||||
growth_probability = 25,\
|
||||
lower_growth_value = 1,\
|
||||
@@ -123,7 +124,7 @@
|
||||
if(prob(3))
|
||||
grow_as = pick(/mob/living/basic/giant_spider/tarantula, /mob/living/basic/giant_spider/viper, /mob/living/basic/giant_spider/midwife)
|
||||
else
|
||||
grow_as = pick(/mob/living/basic/giant_spider, /mob/living/basic/giant_spider/hunter, /mob/living/basic/giant_spider/nurse)
|
||||
grow_as = pick(/mob/living/basic/giant_spider, /mob/living/basic/giant_spider/ambush, /mob/living/basic/giant_spider/hunter, /mob/living/basic/giant_spider/scout, /mob/living/basic/giant_spider/nurse, /mob/living/basic/giant_spider/tangle)
|
||||
|
||||
var/mob/living/basic/giant_spider/grown = change_mob_type(grow_as, get_turf(src), initial(grow_as.name))
|
||||
ADD_TRAIT(grown, TRAIT_WAS_EVOLVED, REF(src))
|
||||
|
||||
+72
-1
@@ -2,24 +2,95 @@
|
||||
|
||||
/// Will differentiate into the base giant spider (known colloquially as the "guard" spider).
|
||||
/mob/living/basic/spiderling/guard
|
||||
grow_as = /mob/living/basic/giant_spider
|
||||
grow_as = /mob/living/basic/giant_spider/guard
|
||||
name = "guard spiderling"
|
||||
desc = "Furry and brown, it looks defenseless. This one has sparkling red eyes."
|
||||
icon_state = "guard_spiderling"
|
||||
icon_dead = "guard_spiderling_dead"
|
||||
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
|
||||
grow_as = /mob/living/basic/giant_spider/ambush
|
||||
name = "ambush spiderling"
|
||||
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
|
||||
grow_as = /mob/living/basic/giant_spider/scout
|
||||
name = "scout spiderling"
|
||||
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
|
||||
grow_as = /mob/living/basic/giant_spider/hunter
|
||||
name = "hunter spiderling"
|
||||
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
|
||||
grow_as = /mob/living/basic/giant_spider/nurse
|
||||
name = "nurse spiderling"
|
||||
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
|
||||
grow_as = /mob/living/basic/giant_spider/tangle
|
||||
name = "tangle spiderling"
|
||||
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
|
||||
grow_as = /mob/living/basic/giant_spider/midwife
|
||||
name = "broodmother spiderling"
|
||||
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.
|
||||
/mob/living/basic/spiderling/viper
|
||||
grow_as = /mob/living/basic/giant_spider/viper
|
||||
name = "viper_spiderling"
|
||||
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.
|
||||
/mob/living/basic/spiderling/tarantula
|
||||
grow_as = /mob/living/basic/giant_spider/tarantula
|
||||
name = "tarantula_spiderling"
|
||||
desc = "Furry and black, it looks defenseless. This one has abyssal red eyes."
|
||||
icon_state = "taratula_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.
|
||||
/mob/living/basic/spiderling/hunter/flesh
|
||||
grow_as = /mob/living/basic/giant_spider/hunter/flesh
|
||||
name = "hunter spiderling"
|
||||
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