Explorer Redux (#24202)

* WE'RE SO BACK

* LET THERE BE SOUND

* More bugs

* fixes

* sound

* hmm

* clothing sprites + minor code changes to clothes

* meestake

* spritening

* YARR

* hiss

* Cyberiad explorer remap

* hand telover

* delta days

* rooms done

* VENDOR

* Mapping done

* Salvage mapped

* qol

* Forgot the hivelord.

* woops

* oops redux

* reviews and more

* consistency

* Update code/game/jobs/job_globals.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* character

* Update code/modules/mob/living/simple_animal/hostile/mining/hivelord.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/effects/spawners/random_spawners.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/modules/mob/living/simple_animal/hostile/pirate.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/modules/clothing/head/job_hats.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/effects/spawners/random_spawners.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/weapons/storage/boxes.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/modules/research/designs/machine_designs.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* some reviews

* Update code/game/machinery/constructable_frame.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* supply

* area repathing and ambience

* mapping

* metamapping

* Update code/game/objects/items/weapons/storage/belt.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>

* the doorening

* redooring

* modsuit

* more reviews

* the plasmamamninigngg

* add random salvage generation across space ruins

* add blackbox tracking for salvage sold

* gun

* deconflicts and reviews

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/modules/clothing/head/job_hats.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/weapons/storage/garment.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* all conversations resolved

* maybe work now?

* please no more, too many apcs

* Update code/modules/mob/living/simple_animal/corpse.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/modules/mining/machine_vending.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/modules/clothing/suits/misc_suits.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* Update code/game/objects/items/sellable.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* henri review + action figure

* Update code/game/objects/items/toys.dm

Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>

* PDA

* conflicts

* more conflicts

* maybe all conflcits?

* wait fuck

* maybe fixed???

* KIDAN SPRITES

* MAYBE?

* access fixes

* explorer hotfixes 1:

- fixes space pirates dying in space
- gives explorers ORM access
- box: fixes access on NTR airlock
- box: fixes naming on BS airlock
- box: adds expedition access to mail sorting room

* add salvage selling back

* NOT FOR SALE

* oh my god actually sell the fucking salvage this time

* maybe fine now?

* carpover

* NO MORE CABLE

* balance tweaks

* some depot loot updates

* merge conflict

* deconflicted???

* woops more oversights

* skirts, bombers, exploredrobe code + sprites

* woops (again)

* deconflicting

* remove old explorer room again

* Hat fix

* minor changes to sprites and code for hats

* yarrr fix 1

* first fixes

* don't drop loot from syndies gibbed by depot destruction

* add selling back with new signal based system

* speedmerge this shit

* minor changes to collars/bomber resprite

* docking port in

* ruins

* WE DON'T NEED CONFIG CHANGES WE NEED PICTURES PICTURES OF SPIDERMAN

* no more murder hallway on whiteship

* undelete meson sunglasses, redelete uristrunes

* BOOTY BAGS

* don't drop ashdrake loot from crusher kills

* box: fix ntrep fax, add explorer access to ORMroom

* add meson sunglasses item icon back

* fix cere handtele, meta shutter control, death sound arg

* cleaning up

* she mosins on my russian till i dj station

* Update code/modules/clothing/head/soft_caps.dm

Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Marm <85680653+ItsMarmite@users.noreply.github.com>

* Update code/modules/clothing/suits/misc_suits.dm

Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Marm <85680653+ItsMarmite@users.noreply.github.com>

* Update code/modules/mining/machine_vending.dm

Co-authored-by: Matt <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Marm <85680653+ItsMarmite@users.noreply.github.com>

* Update code/game/gamemodes/game_mode.dm

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Marm <85680653+ItsMarmite@users.noreply.github.com>

* mapping

* Cleaning up

* revert changes in tools/{bootstrap,ci}

---------

Signed-off-by: Marm <85680653+ItsMarmite@users.noreply.github.com>
Co-authored-by: Christasmurf <25437893+Christasmurf@users.noreply.github.com>
Co-authored-by: warriorstar-orion <orion@snowfrost.garden>
Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: github-actions <github-actions@github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
This commit is contained in:
Marm
2024-05-27 20:27:59 +01:00
committed by GitHub
parent c9f44b1f29
commit 5a68c5f6d3
146 changed files with 5636 additions and 4652 deletions
@@ -88,6 +88,9 @@
if("Cargo Technician", "Quartermaster")
O = new /datum/outfit/plasmaman/cargo
if("Explorer")
O = new /datum/outfit/plasmaman/expedition
if("Shaft Miner")
O = new /datum/outfit/plasmaman/mining
@@ -41,6 +41,25 @@
r_pocket = /obj/item/tank/internals/emergency_oxygen
id = /obj/item/card/id
/obj/effect/mob_spawn/human/corpse/syndicatequartermaster
name = "Syndicate Quartermaster"
mob_name = "Syndicate Quartermaster"
hair_style = "bald"
facial_hair_style = "shaved"
id_job = "Operative"
id_access_list = list(ACCESS_SYNDICATE)
outfit = /datum/outfit/syndicatequartermastercorpse
/datum/outfit/syndicatequartermastercorpse
name = "Corpse of a Syndicate Quartermaster"
uniform = /obj/item/clothing/under/syndicate
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/combat
l_ear = /obj/item/radio/headset
mask = /obj/item/clothing/mask/gas/syndicate
back = /obj/item/mod/control/pre_equipped/traitor_elite
r_pocket = /obj/item/tank/internals/emergency_oxygen
id = /obj/item/card/id
/obj/effect/mob_spawn/human/corpse/clown/corpse
roundstart = TRUE
@@ -60,20 +79,19 @@
/datum/outfit/piratecorpse
name = "Corpse of a Pirate"
uniform = /obj/item/clothing/under/costume/pirate
suit = /obj/item/clothing/suit/space/eva
shoes = /obj/item/clothing/shoes/jackboots
glasses = /obj/item/clothing/glasses/eyepatch
head = /obj/item/clothing/head/bandana
head = /obj/item/clothing/head/helmet/space/eva
back = /obj/item/tank/jetpack/carbondioxide
/obj/effect/mob_spawn/human/corpse/pirate/ranged
name = "Pirate Gunner"
mob_name = "Pirate Gunner"
outfit = /datum/outfit/piratecorpse/ranged
outfit = /datum/outfit/piratecorpse
/datum/outfit/piratecorpse/ranged
name = "Corpse of a Pirate Gunner"
suit = /obj/item/clothing/suit/pirate_black
head = /obj/item/clothing/head/pirate
/obj/effect/mob_spawn/human/corpse/russian
@@ -35,6 +35,15 @@
death_sound = 'sound/voice/hiss6.ogg'
deathmessage = "lets out a waning guttural screech, green blood bubbling from its maw..."
footstep_type = FOOTSTEP_MOB_CLAW
loot = list(/obj/effect/decal/cleanable/blood/gibs/xeno/limb, /obj/effect/decal/cleanable/blood/gibs/xeno/core, /obj/effect/decal/cleanable/blood/xeno/splatter, /obj/effect/decal/cleanable/blood/gibs/xeno/body, /obj/effect/decal/cleanable/blood/gibs/xeno/down)
/mob/living/simple_animal/hostile/alien/ListTargetsLazy()
return ListTargets()
/mob/living/simple_animal/hostile/alien/Aggro()
. = ..()
if(target)
playsound(loc, 'sound/voice/hiss4.ogg', 70, TRUE)
/mob/living/simple_animal/hostile/alien/drone
name = "alien drone"
@@ -596,9 +596,9 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon
name = "space dragon"
maxHealth = 250
health = 250
faction = list("neutral")
maxHealth = 1000
health = 1000
faction = list("carp")
desc = "A space carp turned dragon by vile magic. Has the same ferocity of a space carp, but also a much more enabling body."
icon = 'icons/mob/spacedragon.dmi'
icon_state = "spacedragon"
@@ -609,14 +609,18 @@ Difficulty: Medium
melee_damage_lower = 35
speed = 0
mouse_opacity = MOUSE_OPACITY_ICON
loot = list()
move_to_delay = 3
rapid = 2
crusher_loot = list()
butcher_results = list(/obj/item/stack/ore/diamond = 5, /obj/item/stack/sheet/sinew = 5, /obj/item/stack/sheet/bone = 30)
loot = list(/obj/effect/temp_visual/bsg_kaboom, /obj/effect/temp_visual/emp/cult, /obj/item/clothing/suit/hooded/carp_costume/dragon, /obj/item/gun/energy/kinetic_accelerator/experimental, /obj/effect/temp_visual/cult/portal)
butcher_results = list(/obj/item/stack/ore/diamond = 10, /obj/item/stack/sheet/bone = 30)
move_force = MOVE_FORCE_NORMAL
move_resist = MOVE_FORCE_NORMAL
pull_force = MOVE_FORCE_NORMAL
deathmessage = "screeches as its wings turn to dust and it collapses on the floor, life extinguished."
attack_action_types = list()
internal_gps = /obj/item/gps/internal/carp
death_sound = 'sound/creatures/spacedragondeath.ogg'
/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon/Initialize(mapload)
var/datum/spell/aoe/repulse/spacedragon/repulse_action = new /datum/spell/aoe/repulse/spacedragon(src)
@@ -625,7 +629,7 @@ Difficulty: Medium
. = ..()
/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon/proc/fire_stream(atom/at = target)
playsound(get_turf(src),'sound/magic/fireball.ogg', 200, TRUE)
playsound(get_turf(src),'sound/magic/magic_missile.ogg', 200, TRUE)
SLEEP_CHECK_DEATH(0)
var/range = 20
var/list/turfs = list()
@@ -661,6 +665,12 @@ Difficulty: Medium
/mob/living/simple_animal/hostile/megafauna/dragon/space_dragon/AltClickOn(atom/movable/A)
return
/obj/item/gps/internal/carp
icon_state = null
gpstag = "Corrupted Signal"
desc = "Fish and chips."
invisibility = 100
#undef DRAKE_SWOOP_HEIGHT
#undef DRAKE_SWOOP_DIRECTION_CHANGE_RANGE
#undef SWOOP_DAMAGEABLE
@@ -1,6 +1,6 @@
/mob/living/simple_animal/hostile/asteroid/hivelord
name = "hivelord"
desc = "A truly alien creature, it is a mass of unknown organic material, constantly fluctuating. When attacking, pieces of it split off and attack in tandem with the original."
desc = "A levitating swarm of tiny creatures which act as a single individual. When threatened or hunting they rapidly replicate additional short-lived bodies."
icon = 'icons/mob/lavaland/lavaland_monsters.dmi'
icon_state = "Hivelord"
icon_living = "Hivelord"
@@ -2,15 +2,16 @@
name = "Pirate"
desc = "Does what he wants cause a pirate is free."
icon = 'icons/mob/simple_human.dmi'
icon_state = "piratemelee"
icon_living = "piratemelee"
icon_state = "piratespace"
icon_living = "piratespace"
icon_dead = "piratemelee_dead" // Does not actually exist. del_on_death.
mob_biotypes = MOB_ORGANIC | MOB_HUMANOID
speak_chance = 0
turns_per_move = 5
speak_chance = 1
turns_per_move = 3
death_sound = 'sound/creatures/piratedeath.ogg'
response_help = "pushes the"
response_disarm = "shoves"
response_harm = "hits the"
response_harm = "slashes"
speed = 0
maxHealth = 100
health = 100
@@ -20,28 +21,72 @@
melee_damage_lower = 30
melee_damage_upper = 30
attacktext = "slashes"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_sound = 'sound/weapons/blade1.ogg'
minbodytemp = 0
atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 0, "min_n2" = 0, "max_n2" = 0)
unsuitable_atmos_damage = 15
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)
speak_emote = list("yarrs")
loot = list(/obj/effect/mob_spawn/human/corpse/pirate,
/obj/item/melee/energy/sword/pirate)
loot = list(/obj/item/melee/energy/sword/pirate,
/obj/item/clothing/head/helmet/space/pirate,
/obj/effect/mob_spawn/human/corpse/pirate,
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
/obj/effect/gibspawner/generic,
/obj/effect/gibspawner/generic)
del_on_death = TRUE
faction = list("pirate")
sentience_type = SENTIENCE_OTHER
footstep_type = FOOTSTEP_MOB_SHOE
/mob/living/simple_animal/hostile/pirate/Initialize(mapload)
. = ..()
if(prob(50))
loot = list(/obj/item/clothing/head/helmet/space/pirate,
/obj/item/salvage/loot/pirate,
/obj/effect/mob_spawn/human/corpse/pirate,
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
/obj/effect/gibspawner/generic,
/obj/effect/gibspawner/generic)
/mob/living/simple_animal/hostile/pirate/Process_Spacemove(movement_dir = 0)
return TRUE
/mob/living/simple_animal/hostile/pirate/ListTargetsLazy()
return ListTargets()
/mob/living/simple_animal/hostile/pirate/Aggro()
. = ..()
if(target)
playsound(loc, 'sound/creatures/pirateengage.ogg', 70, TRUE)
/mob/living/simple_animal/hostile/pirate/ranged
name = "Pirate Gunner"
icon_state = "pirateranged"
icon_living = "pirateranged"
icon_state = "piratespaceranged"
icon_living = "piratespaceranged"
icon_dead = "piratemelee_dead" // Does not actually exist. del_on_death.
projectilesound = 'sound/weapons/laser.ogg'
ranged = TRUE
rapid = 2
turns_per_move = 5
retreat_distance = 5
minimum_distance = 5
projectiletype = /obj/item/projectile/beam
loot = list(/obj/effect/mob_spawn/human/corpse/pirate/ranged,
/obj/item/gun/energy/laser)
loot = list(/obj/effect/mob_spawn/human/corpse/pirate,
/obj/item/gun/energy/laser,
/obj/item/clothing/head/helmet/space/pirate,
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
/obj/effect/gibspawner/generic,
/obj/effect/gibspawner/generic)
/mob/living/simple_animal/hostile/pirate/ranged/Initialize(mapload)
. = ..()
if(prob(50))
loot = list(/obj/item/clothing/head/helmet/space/pirate,
/obj/item/salvage/loot/pirate,
/obj/effect/mob_spawn/human/corpse/pirate,
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
/obj/effect/gibspawner/generic,
/obj/effect/gibspawner/generic)
@@ -25,7 +25,8 @@
faction = list("russian")
status_flags = CANPUSH
loot = list(/obj/effect/mob_spawn/human/corpse/russian,
/obj/item/kitchen/knife)
/obj/item/kitchen/knife,
/obj/item/salvage/loot/russian)
del_on_death = TRUE
sentience_type = SENTIENCE_OTHER
footstep_type = FOOTSTEP_MOB_SHOE
@@ -42,5 +43,6 @@
/mob/living/simple_animal/hostile/russian/ranged/mosin
loot = list(/obj/effect/mob_spawn/human/corpse/russian/ranged,
/obj/item/gun/projectile/shotgun/boltaction)
/obj/item/gun/projectile/shotgun/boltaction,
/obj/item/salvage/loot/russian)
casingtype = /obj/item/ammo_casing/a762
@@ -13,11 +13,11 @@
response_disarm = "shoves the"
response_harm = "hits the"
speed = 0
maxHealth = 100
health = 100
maxHealth = 150
health = 150
harm_intent_damage = 5
melee_damage_lower = 10
melee_damage_upper = 10
melee_damage_lower = 15
melee_damage_upper = 15
attacktext = "punches"
attack_sound = 'sound/weapons/punch1.ogg'
a_intent = INTENT_HARM
@@ -25,24 +25,43 @@
faction = list("syndicate")
check_friendly_fire = TRUE
status_flags = CANPUSH
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier)
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier,
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
/obj/effect/gibspawner/generic,
/obj/effect/gibspawner/generic)
del_on_death = TRUE
sentience_type = SENTIENCE_OTHER
footstep_type = FOOTSTEP_MOB_SHOE
robust_searching = TRUE
/mob/living/simple_animal/hostile/syndicate/Initialize(mapload)
. = ..()
if(prob(50))
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier,
/obj/item/salvage/loot/syndicate,
/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/Aggro()
. = ..()
if(target)
playsound(loc, 'sound/misc/for_the_syndicate.ogg', 70, TRUE)
///////////////Sword and shield////////////
/mob/living/simple_animal/hostile/syndicate/melee
melee_damage_lower = 20
melee_damage_lower = 30
melee_damage_upper = 25
icon_state = "syndicate_sword"
icon_living = "syndicate_sword"
attacktext = "slashes"
attack_sound = 'sound/weapons/bladeslice.ogg'
attack_sound = 'sound/weapons/blade1.ogg'
armour_penetration_percentage = 40
armour_penetration_flat = 10
status_flags = 0
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/melee/energy/sword/saber/red, /obj/item/shield/energy)
var/melee_block_chance = 20
var/ranged_block_chance = 35
@@ -61,7 +80,7 @@
return
adjustHealth(damage)
visible_message("<span class='boldwarning'>[src] has been attacked with [O] by [user].</span>")
playsound(loc, O.hitsound, 25, 1, -1)
playsound(loc, O.hitsound, 25, TRUE, -1)
else
to_chat(usr, "<span class='warning'>This weapon is ineffective, it does no damage.</span>")
visible_message("<span class='warning'>[user] gently taps [src] with [O].</span>")
@@ -78,7 +97,12 @@
return 0
/mob/living/simple_animal/hostile/syndicate/melee/autogib
loot = list()//no loot, its gonna delete and gib.
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier,
/obj/item/salvage/loot/syndicate,
/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
name = "Syndicate Operative"
@@ -124,7 +148,7 @@
if(!seen_enemy)
seen_enemy = TRUE
if(!ranged)
playsound(loc, 'sound/weapons/saberon.ogg', 35, 1)
playsound(loc, 'sound/weapons/saberon.ogg', 35, TRUE)
if(alert_on_shield_breach)
if(length(depotarea.shield_list))
raise_alert("[name] reports that [target] is trying to breach the armory shield!")
@@ -186,7 +210,7 @@
scan_cycles++
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/AIShouldSleep(list/possible_targets)
FindTarget(possible_targets, 1)
FindTarget(possible_targets, TRUE)
return FALSE
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/proc/raise_alert(reason)
@@ -195,6 +219,14 @@
say("Intruder!")
depotarea.increase_alert(reason)
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/drop_loot()
// If a depot syndicate dies after the depot has been destroyed, assume it
// was gibbed as part of the destruction and don't drop its loot.
if(istype(depotarea) && depotarea.destroyed)
return
return ..()
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/death()
if(!istype(depotarea))
return ..()
@@ -230,22 +262,20 @@
. = ..()
if(prob(50))
// 50% chance of switching to ranged variant.
// Designed to counter players taking cover behind reinforced plasmasglass.
// Does almost no danage in melee, but decent damage at range, and its shots go through glass.
melee_damage_lower = 10
melee_damage_upper = 10
melee_damage_lower = 30
melee_damage_upper = 25
attacktext = "punches"
attack_sound = 'sound/weapons/punch1.ogg'
attack_sound = 'sound/weapons/cqchit1.ogg'
ranged = TRUE
rapid = 3
retreat_distance = 3
retreat_distance = 5
minimum_distance = 3
melee_block_chance = 0
ranged_block_chance = 0
icon_state = "syndicate_pistol"
icon_living = "syndicate_pistol"
projectiletype = /obj/item/projectile/beam/laser
projectilesound = 'sound/weapons/laser.ogg'
projectiletype = /obj/item/projectile/bullet/armourpiercing
projectilesound = 'sound/weapons/gunshots/gunshot_pistol.ogg'
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory
name = "Syndicate Quartermaster"
@@ -257,6 +287,8 @@
health = 200
melee_block_chance = 40
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/Initialize(mapload)
. = ..()
@@ -267,14 +299,21 @@
attacktext = "punches"
attack_sound = 'sound/weapons/punch1.ogg'
ranged = TRUE
retreat_distance = 3
minimum_distance = 3
retreat_distance = 2
minimum_distance = 2
melee_block_chance = 0
ranged_block_chance = 0
icon_state = "syndicate_stormtrooper_shotgun"
icon_living = "syndicate_stormtrooper_shotgun"
speed = 2
projectiletype = /obj/item/projectile/bullet/sniper/penetrator // Ignores cover.
projectilesound = 'sound/weapons/gunshots/gunshot_sniper.ogg'
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatequartermaster,
/obj/item/salvage/loot/syndicate,
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
/obj/effect/gibspawner/generic,
/obj/effect/gibspawner/generic)
return INITIALIZE_HINT_LATELOAD
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/armory/LateInitialize()
@@ -297,11 +336,17 @@
speed = 1
wander = FALSE
alert_on_spacing = FALSE
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)
return TRUE
/mob/living/simple_animal/hostile/syndicate/melee/autogib/depot/space/death()
visible_message("<span class='warning'>[src] explodes!</span>")
playsound(loc, 'sound/items/timer.ogg', 30, FALSE)
explosion(src, 0, 4, 4, flame_range = 2, adminlog = FALSE)
qdel(src)
/mob/living/simple_animal/hostile/syndicate/melee/space
name = "Syndicate Commando"
@@ -309,12 +354,26 @@
minbodytemp = 0
icon_state = "syndicate_space_sword"
icon_living = "syndicate_space_sword"
speed = 1
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatecommando, /obj/item/melee/energy/sword/saber/red, /obj/item/shield/energy)
speed = 1.5
death_sound = 'sound/mecha/mechmove03.ogg'
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatecommando,
/obj/item/salvage/loot/syndicate,
/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/space/Process_Spacemove(movement_dir = 0)
return TRUE
/mob/living/simple_animal/hostile/syndicate/melee/space/Initialize(mapload)
. = ..()
if(prob(50))
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatecommando,
/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/ranged
ranged = TRUE
@@ -325,22 +384,41 @@
icon_living = "syndicate_smg"
projectilesound = 'sound/weapons/gunshots/gunshot.ogg'
casingtype = /obj/item/ammo_casing/c45
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatesoldier, /obj/item/gun/projectile/automatic/c20r)
/mob/living/simple_animal/hostile/syndicate/ranged/space
icon_state = "syndicate_space_smg"
icon_living = "syndicate_space_smg"
name = "Syndicate Commando"
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)
minbodytemp = 0
speed = 1
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatecommando, /obj/item/gun/projectile/automatic/c20r)
speed = 1.5
death_sound = 'sound/mecha/mechmove03.ogg'
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatecommando,
/obj/item/salvage/loot/syndicate,
/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/ranged/space/Initialize(mapload)
. = ..()
if(prob(50))
loot = list(/obj/effect/mob_spawn/human/corpse/syndicatecommando,
/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/ranged/space/Process_Spacemove(movement_dir = 0)
return TRUE
/mob/living/simple_animal/hostile/syndicate/ranged/space/autogib
loot = list()//gonna gibe, no loot.
loot = list(/obj/item/salvage/loot/syndicate,
/obj/effect/mob_spawn/human/corpse/syndicatecommando,
/obj/effect/decal/cleanable/blood/innards,
/obj/effect/decal/cleanable/blood,
/obj/effect/gibspawner/generic,
/obj/effect/gibspawner/generic)
/mob/living/simple_animal/hostile/viscerator
name = "viscerator"