Skip to content
9 changes: 8 additions & 1 deletion code/game/objects/effects/spiderwebs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,18 @@
sealed = TRUE
has_frill = FALSE
can_atmos_pass = ATMOS_PASS_NO
resistance_flags = FIRE_PROOF

/obj/structure/spider/stickyweb/sealed/Initialize(mapload)
. = ..()
air_update_turf(TRUE, TRUE)

/obj/structure/spider/stickyweb/sealed/atmos_expose(datum/gas_mixture/air, exposed_temperature)
return

/obj/structure/spider/should_atmos_process(datum/gas_mixture/air, exposed_temperature)
return FALSE

/// Walls which reflects lasers
/obj/structure/spider/stickyweb/sealed/reflector
name = "reflective silk screen"
Expand Down Expand Up @@ -263,7 +270,7 @@
. = ..()
pixel_x = -9
pixel_y = -9
add_filter(SPIDER_WEB_TINT, 10, list("type" = "outline", "color" = "#ac0000ff", "size" = 0.1))
//add_filter(SPIDER_WEB_TINT, 10, list("type" = "outline", "color" = "#ac0000ff", "size" = 0.1)) // IRIS REMOVAL
AddComponent(/datum/component/caltrop, min_damage = 20, max_damage = 30, flags = CALTROP_NOSTUN | CALTROP_BYPASS_SHOES)

/obj/structure/spider/effigy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,22 +41,26 @@
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
maxHealth = 100 // IRIS EDIT
health = 100 // IRIS EDIT
obj_damage = 30 // IRIS EDIT
melee_damage_lower = 5 // IRIS EDIT
melee_damage_upper = 10 // IRIS EDIT
poison_per_bite = 5 // IRIS ADDITION
poison_type = /datum/reagent/toxin/staminatoxin // IRIS ADDITION
speed = 3
player_speed_modifier = -3.1
menu_description = "Slow spider, with a strong disarming pull and above average health and damage."
innate_actions = list(/datum/action/cooldown/mob_cooldown/sneak/spider)
menu_description = "Fast spider with an average health, a strong disarming pull and a ranged slowdown." // IRIS EDIT
innate_actions = list(
/datum/action/cooldown/mob_cooldown/sneak/spider,
/datum/action/cooldown/spell/pointed/projectile/web_restraints, // IRIS ADDITION
)

/mob/living/basic/spider/giant/ambush/Initialize(mapload)
. = ..()
ADD_TRAIT(src, TRAIT_STRONG_GRABBER, INNATE_TRAIT)

AddElement(/datum/element/web_walker, /datum/movespeed_modifier/slow_web)
AddElement(/datum/element/web_walker, /datum/movespeed_modifier/average_web) // IRIS EDIT: slow_web -> average_web

/**
* ### Guard Spider
Expand All @@ -71,15 +75,15 @@
icon_living = "guard"
icon_dead = "guard_dead"
gender = FEMALE
maxHealth = 160
health = 160
maxHealth = 120 // IRIS EDIT
health = 120 // IRIS EDIT
melee_damage_lower = 20
melee_damage_upper = 25
obj_damage = 45
speed = 5
obj_damage = 30 // IRIS EDIT
speed = 4 // IRIS EDIT
player_speed_modifier = -4
menu_description = "Tanky and strong able to shed a carcass for protection."
innate_actions = list(/datum/action/cooldown/mob_cooldown/web_effigy)
menu_description = "Average health, damage and speed." // IRIS EDIT
//innate_actions = list(/datum/action/cooldown/mob_cooldown/web_effigy) //IRIS REMOVAL

/mob/living/basic/spider/giant/guard/Initialize(mapload)
. = ..()
Expand Down Expand Up @@ -127,8 +131,8 @@
icon_state = "scout"
icon_living = "scout"
icon_dead = "scout_dead"
maxHealth = 65
health = 65
maxHealth = 80 // IRIS EDIT
health = 80 // IRIS EDIT
obj_damage = 10
melee_damage_lower = 5
melee_damage_upper = 10
Expand Down Expand Up @@ -160,15 +164,16 @@
icon_dead = "nurse_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
maxHealth = 80 // IRIS EDIT
health = 80 // IRIS EDIT
melee_damage_lower = 5
melee_damage_upper = 10
speed = 4
player_speed_modifier = -3.1
web_speed = 0.25
web_type = /datum/action/cooldown/mob_cooldown/lay_web/sealer
menu_description = "Avarage speed spider able to heal other spiders and itself together with a fast web laying capability, has low damage and health."
menu_description = "A weak spider able to heal other spiders, lay faster webs and shed an effigy." // IRIS EDIT
innate_actions = list(/datum/action/cooldown/mob_cooldown/web_effigy) // IRIS ADDITION

///Used in the caves away mission.
/mob/living/basic/spider/giant/nurse/away_caves
Expand All @@ -179,9 +184,10 @@
. = ..()
ADD_TRAIT(src, TRAIT_MEDICAL_HUD, INNATE_TRAIT)

//IRIS EDIT: Heals damage more
AddComponent(/datum/component/healing_touch,\
heal_brute = 10,\
heal_burn = 10,\
heal_brute = 20,\
heal_burn = 20,\
heal_time = 2.5 SECONDS,\
interaction_key = DOAFTER_SOURCE_SPIDER,\
valid_targets_typecache = typecacheof(list(/mob/living/basic/spider/giant)),\
Expand All @@ -207,23 +213,24 @@
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 = 55
health = 55
melee_damage_lower = 1
melee_damage_upper = 1
poison_per_bite = 2.5
poison_type = /datum/reagent/toxin/acid
obj_damage = 40
maxHealth = 120 // IRIS EDIT
health = 120 // IRIS EDIT
melee_damage_lower = 5 // IRIS EDIT
melee_damage_upper = 10 // IRIS EDIT
//poison_per_bite = 2.5 // IRIS REMOVAL
//poison_type = /datum/reagent/toxin/acid // IRIS REMOVAL
obj_damage = 50 // IRIS EDIT
web_speed = 0.25
speed = 4
player_speed_modifier = -3.1
web_type = /datum/action/cooldown/mob_cooldown/lay_web/sealer
menu_description = "Average speed spider with self healing abilities and multiple web types to reinforce the nest with little to no damage and low health."
menu_description = "Average speed spider with self healing abilities, multiple web types to reinforce the nest, low damage and average health." // IRIS EDIT
innate_actions = list(
/datum/action/cooldown/mob_cooldown/lay_web/solid_web,
/datum/action/cooldown/mob_cooldown/lay_web/sticky_web,
/datum/action/cooldown/mob_cooldown/lay_web/web_passage,
/datum/action/cooldown/mob_cooldown/lay_web/web_spikes,
/datum/action/cooldown/mob_cooldown/lay_web/web_reflector, // IRIS ADDITION
)

/mob/living/basic/spider/giant/tangle/Initialize(mapload)
Expand Down Expand Up @@ -261,26 +268,29 @@
icon_state = "tank"
icon_living = "tank"
icon_dead = "tank_dead"
maxHealth = 500
health = 500
damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 1, OXY = 1)
melee_damage_lower = 5
melee_damage_upper = 5
obj_damage = 15
maxHealth = 300 // IRIS EDIT
health = 300 // IRIS EDIT
//damage_coeff = list(BRUTE = 1, BURN = 1, TOX = 1, STAMINA = 1, OXY = 1) // IRIS REMOVAL
melee_damage_lower = 25 // IRIS EDIT
melee_damage_upper = 30 // IRIS EDIT
obj_damage = 30 // IRIS EDIT
speed = 5
player_speed_modifier = -4
menu_description = "Extremely tanky with very poor offence. Able to self heal and lay reflective silk screens."
menu_description = "High health and damage. Low speed." // IRIS EDIT

/mob/living/basic/spider/giant/tank/Initialize(mapload)
. = ..()
/* IRIS REMOVAL START
var/datum/action/cooldown/mob_cooldown/lay_web/web_reflector/reflector_web = new(src)
reflector_web.Grant(src)

var/datum/action/cooldown/mob_cooldown/lay_web/web_passage/passage_web = new(src)
passage_web.Grant(src)
IRIS REMOVAL END */

AddElement(/datum/element/web_walker, /datum/movespeed_modifier/below_average_web)

/* IRIS REMOVAL START
AddComponent(/datum/component/healing_touch,\
heal_brute = 50,\
heal_burn = 50,\
Expand All @@ -300,6 +310,8 @@
return FALSE
return TRUE

IRIS REMOVAL END */

/**
* ### Spider Breacher
* A subtype of the giant spider, specialized in breaching and invasion.
Expand All @@ -322,18 +334,19 @@
wound_bonus = 25
exposed_wound_bonus = 50
sharpness = SHARP_EDGED
obj_damage = 60
obj_damage = 120
web_speed = 0.25
limb_destroyer = 50
speed = 5
player_speed_modifier = -4
sight = SEE_TURFS
web_type = /datum/action/cooldown/mob_cooldown/lay_web/sealer // IRIS ADDITION
menu_description = "Has the ability to destroy walls and limbs, and to send warnings to the nest."

/mob/living/basic/spider/giant/breacher/Initialize(mapload)
. = ..()
var/datum/action/cooldown/mob_cooldown/lay_web/solid_web/web_solid = new(src)
web_solid.Grant(src)
var/datum/action/cooldown/mob_cooldown/lay_web/web_passage/web_passage = new(src) // IRIS EDIT
web_passage.Grant(src) // IRIS EDIT

var/datum/action/cooldown/mob_cooldown/command_spiders/warning_spiders/spiders_warning = new(src)
spiders_warning.Grant(src)
Expand All @@ -358,26 +371,33 @@
health = 400
melee_damage_lower = 35
melee_damage_upper = 40
obj_damage = 100
obj_damage = 50
damage_coeff = list(BRUTE = 1, BURN = 1.25, TOX = 1, STAMINA = 0, OXY = 1)
speed = 6
speed = 5 // IRIS EDIT
player_speed_modifier = -5.5 // Doesn't seem that slow but it gets a debuff off web
mob_size = MOB_SIZE_LARGE
gold_core_spawnable = NO_SPAWN
web_speed = 0.7
//web_speed = 0.7 // IRIS EDIT
web_type = /datum/action/cooldown/mob_cooldown/lay_web/sealer
sight = SEE_MOBS // IRIS ADDITION
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."
innate_actions = list(
/datum/action/cooldown/mob_cooldown/charge/basic_charge,
/datum/action/cooldown/mob_cooldown/lay_web/solid_web,
///datum/action/cooldown/mob_cooldown/charge/basic_charge/tarantula, // IRIS REMOVAL: duplicate
///datum/action/cooldown/mob_cooldown/lay_web/solid_web, // IRIS REMOVAL
/datum/action/cooldown/mob_cooldown/lay_web/web_passage,
)
/// Charging ability, kept seperate from innate_actions due to implementation details
var/datum/action/cooldown/mob_cooldown/charge/basic_charge/charge
var/datum/action/cooldown/mob_cooldown/charge/basic_charge/tarantula/charge // IRIS EDIT

// IRIS ADDITION START
/datum/action/cooldown/mob_cooldown/charge/basic_charge/tarantula
charge_delay = 1 SECONDS
cooldown_time = 15 SECONDS
// IRIS ADDITION END

/mob/living/basic/spider/giant/tarantula/Initialize(mapload)
. = ..()
charge = new /datum/action/cooldown/mob_cooldown/charge/basic_charge()
charge = new /datum/action/cooldown/mob_cooldown/charge/basic_charge/tarantula() // IRIS EDIT
charge.Grant(src)

AddElement(/datum/element/web_walker, /datum/movespeed_modifier/slow_web)
Expand All @@ -403,16 +423,16 @@
icon_state = "viper"
icon_living = "viper"
icon_dead = "viper_dead"
maxHealth = 55
health = 55
maxHealth = 80 // IRIS EDIT
health = 80 // IRIS EDIT
melee_damage_lower = 5
melee_damage_upper = 5
poison_per_bite = 5
poison_type = /datum/reagent/toxin/viperspider
speed = 2
speed = 3 // IRIS EDIT
player_speed_modifier = -2.5
gold_core_spawnable = NO_SPAWN
menu_description = "Assassin spider variant with an unmatched speed and very deadly poison, but has very low amount of health and damage."
menu_description = "Fast spider with a lethal venom, but has less health and damage." // IRIS EDIT
innate_actions = list(
/datum/action/cooldown/mob_cooldown/defensive_mode,
)
Expand Down Expand Up @@ -446,6 +466,7 @@
gold_core_spawnable = NO_SPAWN
web_speed = 0.5
web_type = /datum/action/cooldown/mob_cooldown/lay_web/sealer
sight = SEE_MOBS | SEE_OBJS | SEE_TURFS
menu_description = "Royal spider variant specializing in reproduction and leadership, deals low damage."
innate_actions = list(
/datum/action/cooldown/mob_cooldown/command_spiders,
Expand All @@ -458,6 +479,7 @@
/datum/action/cooldown/mob_cooldown/lay_web/web_spikes,
/datum/action/cooldown/mob_cooldown/set_spider_directive,
/datum/action/cooldown/mob_cooldown/wrap,
/datum/action/cooldown/mob_cooldown/web_effigy, // IRIS ADDITION
)

/mob/living/basic/spider/giant/midwife/Initialize(mapload)
Expand Down
9 changes: 9 additions & 0 deletions code/modules/mob/living/basic/space_fauna/spider/spider.dm
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@
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
// IRIS ADDITION - spiders cant attack each other
var/static/list/typecache_player_spiders = typecacheof(list(/mob/living/basic/spider))

/datum/emote/spider
mob_type_allowed_typecache = /mob/living/basic/spider
Expand Down Expand Up @@ -84,6 +86,13 @@
webbing.Grant(src)
ai_controller?.set_blackboard_key(BB_SPIDER_WEB_ACTION, webbing)

// IRIS EDIT START - Makes player-controlled spiders unable to attack each other.
AddElement(/datum/element/prevent_attacking_of_player_types, \
typecache_player_spiders, \
"Wait! That's your fellow spider!"\
)
// IRIS EDIT END

/mob/living/basic/spider/Login()
. = ..()
if(!. || !client)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@

/datum/action/cooldown/mob_cooldown/lay_web/web_passage
name = "Spin Web Passage"
desc = "Spin a web passage to hide the nest from prey view."
desc = "Spin a web passage to hide the nest from prey view and block fires from spreading." // IRIS EDIT
button_icon_state = "spider_roof"
cooldown_time = 0 SECONDS
webbing_time = 4 SECONDS
Expand Down Expand Up @@ -177,7 +177,7 @@
name = "Spin reflective silk screen"
desc = "Spin a web to reflect missiles from the nest."
button_icon_state = "spider_mirror"
cooldown_time = 30 SECONDS
cooldown_time = 60 SECONDS // IRIS EDIT
webbing_time = 4 SECONDS

/datum/action/cooldown/mob_cooldown/lay_web/web_reflector/obstructed_by_other_web()
Expand Down
15 changes: 8 additions & 7 deletions code/modules/mob_spawn/ghost_roles/spider_roles.dm
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,14 @@
var/obj/structure/spider/eggcluster/egg
/// Which antag datum do we grant?
var/granted_datum = /datum/antagonist/spider
// IRIS EDIT START
/// The types of spiders that the spawner can produce
var/list/potentialspawns = list(
/mob/living/basic/spider/growing/spiderling/nurse,
/mob/living/basic/spider/growing/spiderling/hunter,
/mob/living/basic/spider/growing/spiderling/ambush,
/mob/living/basic/spider/growing/spiderling/tangle,
/mob/living/basic/spider/growing/spiderling/guard,
/mob/living/basic/spider/growing/spiderling/scout,
/mob/living/basic/spider/growing/spiderling/tank,
/mob/living/basic/spider/growing/spiderling/viper,
)
// IRIS EDIT END
/// Do we flash the byond window when this particular egg type is available?
var/flash_window = FALSE

Expand Down Expand Up @@ -154,8 +153,10 @@
color = rgb(0, 148, 211)
cluster_type = /obj/structure/spider/eggcluster/abnormal
potentialspawns = list(
/mob/living/basic/spider/growing/spiderling/tank,
/mob/living/basic/spider/growing/spiderling/viper,
/mob/living/basic/spider/growing/spiderling/nurse,
/mob/living/basic/spider/growing/spiderling/ambush,
/mob/living/basic/spider/growing/spiderling/tangle,
/mob/living/basic/spider/growing/spiderling/scout,
)
flash_window = TRUE

Expand Down
Loading
Loading