Skip to content

Commit

Permalink
depottt (ParadiseSS13#27399)
Browse files Browse the repository at this point in the history
  • Loading branch information
kyunkyunkyun authored Dec 17, 2024
1 parent 8ff638b commit f7199cc
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 18 deletions.
6 changes: 4 additions & 2 deletions code/game/area/areas/depot-areas.dm
Original file line number Diff line number Diff line change
Expand Up @@ -374,12 +374,14 @@
if(S)
qdel(S)
shield_list = list()
for(var/obj/machinery/door/airlock/hatch/syndicate/vault/A in src)
A.unlock()

/area/syndicate_depot/core/proc/unlock_lockers() // used on QM's death
for(var/obj/structure/closet/secure_closet/depot/armory/L in src)
if(L.locked)
L.locked = !L.locked
L.update_icon()
for(var/obj/machinery/door/airlock/hatch/syndicate/vault/A in src)
A.unlock()

/area/syndicate_depot/core/proc/despawn_guards()
for(var/mob/thismob in list_getmobs(guard_list))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
desc = "A red and black lootbox full of things the Head of Security is going to flip their shit over."
locked = FALSE
anchored = TRUE
req_access = list()
req_access = list(ACCESS_SYNDICATE)
icon_state = "tac"
layer = 2.9 // ensures the loot they drop always appears on top of them.
var/is_armory = FALSE
Expand Down Expand Up @@ -57,6 +57,6 @@
ignore_use = FALSE

/obj/structure/closet/secure_closet/depot/armory
req_access = list(ACCESS_SYNDICATE)
req_access = list(ACCESS_SYNDICATE_COMMAND) // can't open without killing QM/breaking a closet
is_armory = TRUE
icon_state = "armory"
2 changes: 1 addition & 1 deletion code/game/objects/structures/depot_structures.dm
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@
if(!depotarea.used_self_destruct)
depotarea.used_self_destruct = TRUE // Silences all further alerts from this point onwards.
depotarea.update_state()
depotarea.shields_down()
else
log_debug("[src] at [x],[y],[z] failed depotarea istype check during Initialize()! Either it was spawned outside the depot area (bad idea), or a bug is happening.")

Expand All @@ -109,6 +108,7 @@
for(var/obj/O in L)
qdel(O)
L.open()
depotarea.shields_down()
for(var/mob/living/M in range(30, T))
M.gib()
for(var/obj/mecha/E in range(30, T))
Expand Down
30 changes: 17 additions & 13 deletions code/modules/mob/living/simple_animal/hostile/syndicate_mobs.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,8 @@
///////////////Sword and shield////////////

/mob/living/simple_animal/hostile/syndicate/melee
melee_damage_lower = 30
melee_damage_upper = 25
melee_damage_lower = 25
melee_damage_upper = 30
icon_state = "syndicate_sword"
icon_living = "syndicate_sword"
attacktext = "slashes"
Expand Down Expand Up @@ -257,15 +257,12 @@
. = ..()
if(prob(50))
// 50% chance of switching to ranged variant.
melee_damage_lower = 30
melee_damage_upper = 25
attacktext = "punches"
attack_sound = 'sound/weapons/cqchit1.ogg'
ranged = TRUE
rapid = 3
retreat_distance = 5
minimum_distance = 3
melee_block_chance = 0
ranged_block_chance = 0
icon_state = "syndicate_pistol"
icon_living = "syndicate_pistol"
Expand All @@ -277,26 +274,27 @@
icon_state = "syndicate_stormtrooper_sword"
icon_living = "syndicate_stormtrooper_sword"
atmos_requirements = list("min_oxy" = 0, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 0, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
armour_penetration_percentage = 50 // same as e-sword
minbodytemp = 0
maxHealth = 200
health = 200
maxHealth = 250
health = 250
melee_block_chance = 40
ranged_block_chance = 35 // same as officer's
alert_on_shield_breach = TRUE
death_sound = 'sound/mecha/mechmove03.ogg'
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatequartermaster, /obj/effect/decal/cleanable/blood/innards, /obj/effect/decal/cleanable/blood, /obj/effect/gibspawner/generic, /obj/effect/gibspawner/generic)

/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory/Process_Spacemove(movement_dir = 0)
return TRUE // he should be able to chase us in space

/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory/Initialize(mapload)
. = ..()
if(prob(50))
// 50% chance of switching to extremely dangerous ranged variant
melee_damage_lower = 10
melee_damage_upper = 10
attacktext = "punches"
attack_sound = 'sound/weapons/punch1.ogg'
attack_sound = 'sound/weapons/cqchit1.ogg'
ranged = TRUE
retreat_distance = 2
minimum_distance = 2
melee_block_chance = 0
ranged_block_chance = 0
icon_state = "syndicate_stormtrooper_shotgun"
icon_living = "syndicate_stormtrooper_shotgun"
Expand All @@ -316,6 +314,13 @@
O.shield_key = TRUE
depotarea.shields_up()

/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory/death() // i hope it's all right
if(!istype(depotarea))
return ..()
if(!length(depotarea.shield_list)) // not opening lockers without getting shields down
depotarea.unlock_lockers()
return ..()


/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space
name = "Syndicate Backup"
Expand All @@ -327,7 +332,6 @@
wander = FALSE
alert_on_spacing = FALSE // So it chasing players in space doesn't make depot explode.
alert_on_timeout = FALSE // So random fauna doesn't make depot explode.
death_sound = 'sound/mecha/mechmove03.ogg'
loot = list() // Explodes, doesn't drop loot.

/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space/Process_Spacemove(movement_dir = 0)
Expand Down

0 comments on commit f7199cc

Please sign in to comment.