mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-17 10:03:50 +01:00
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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user