mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 07:33:34 +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:
@@ -1188,15 +1188,17 @@
|
||||
if(4)
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
|
||||
if(JOB_EXPLORER)
|
||||
clothes_s = new /icon('icons/mob/clothing/under/color.dmi', "orange_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "workboots"), ICON_UNDERLAY)
|
||||
clothes_s = new /icon('icons/mob/clothing/under/cargo.dmi', "expedition_s")
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/feet.dmi', "jackboots"), ICON_UNDERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/hands.dmi', "bgloves"), ICON_OVERLAY)
|
||||
has_gloves = TRUE
|
||||
if(prob(1))
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/under/syndicate.dmi', "tactifool_s"), ICON_OVERLAY)
|
||||
switch(backbag)
|
||||
if(2)
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "backpack"), ICON_OVERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "explorerpack"), ICON_OVERLAY)
|
||||
if(3)
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel-norm"), ICON_OVERLAY)
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel-explorer"), ICON_OVERLAY)
|
||||
if(4)
|
||||
clothes_s.Blend(new /icon('icons/mob/clothing/back.dmi', "satchel"), ICON_OVERLAY)
|
||||
else if(job_medsci_high)
|
||||
|
||||
@@ -106,6 +106,11 @@
|
||||
path = /obj/item/clothing/suit/jacket/miningbomber
|
||||
allowed_roles = list("Quartermaster", "Shaft Miner")
|
||||
|
||||
/datum/gear/suit/bomber/job/expedition
|
||||
display_name = "Bomber jacket, expedition"
|
||||
path = /obj/item/clothing/suit/jacket/expeditionbomber
|
||||
allowed_roles = list("Quartermaster", "Explorer")
|
||||
|
||||
/datum/gear/suit/bomber/job/engi
|
||||
display_name = "Bomber jacket, engineering"
|
||||
path = /obj/item/clothing/suit/jacket/engibomber
|
||||
|
||||
@@ -183,6 +183,11 @@
|
||||
path = /obj/item/clothing/under/rank/cargo/tech/skirt
|
||||
allowed_roles = list("Quartermaster","Cargo Technician")
|
||||
|
||||
/datum/gear/uniform/skirt/job/expedition
|
||||
display_name = "Skirt, expedition"
|
||||
path = /obj/item/clothing/under/rank/cargo/expedition/skirt
|
||||
allowed_roles = list("Quartermaster", "Explorer")
|
||||
|
||||
/datum/gear/uniform/skirt/job/qm
|
||||
display_name = "Skirt, quartermaster"
|
||||
path = /obj/item/clothing/under/rank/cargo/qm/skirt
|
||||
|
||||
@@ -156,6 +156,19 @@
|
||||
"Drask" = 'icons/mob/clothing/species/drask/head/beret.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/beret/expedition
|
||||
name = "expedition beret"
|
||||
desc = "A brown beret with a blue Nanotrasen insignia emblazoned on it. Not much good for space protection, but stylish all the same."
|
||||
icon_state = "beret_expedition"
|
||||
item_color = "beret_expedition"
|
||||
armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 10, ACID = 50)
|
||||
strip_delay = 6 SECONDS
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/clothing/species/vox/head/beret.dmi',
|
||||
"Drask" = 'icons/mob/clothing/species/drask/head/beret.dmi'
|
||||
)
|
||||
|
||||
|
||||
//Special Roles
|
||||
/obj/item/clothing/head/beret/solgov/command
|
||||
name = "\improper Trans-Solar Federation Lieutenant's beret"
|
||||
|
||||
@@ -194,4 +194,3 @@
|
||||
desc = "A cap coroners wear during autopsies. Keeps their hair from falling into the cadavers. It is as dark as the coroner's humor."
|
||||
icon_state = "surgcap_black"
|
||||
dog_fashion = /datum/dog_fashion/head/surgery
|
||||
|
||||
|
||||
@@ -117,6 +117,16 @@
|
||||
"Grey" = 'icons/mob/clothing/species/grey/head/softcap.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/soft/expedition
|
||||
name = "expedition cap"
|
||||
desc = "It's a baseball hat in the brown and blue markings of the expedition team."
|
||||
icon_state = "expeditionsoft"
|
||||
item_color = "expedition"
|
||||
armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 0, RAD = 0, FIRE = 10, ACID = 50)
|
||||
sprite_sheets = list(
|
||||
"Vox" = 'icons/mob/clothing/species/vox/head/softcap.dmi'
|
||||
)
|
||||
|
||||
/obj/item/clothing/head/soft/janitorgrey
|
||||
name = "grey janitor's cap"
|
||||
desc = "It's a grey baseball hat with a purple custodial shield."
|
||||
|
||||
@@ -187,6 +187,13 @@
|
||||
item_state = "explorer_envirohelm"
|
||||
visor_icon = "explorer_envisor"
|
||||
|
||||
/obj/item/clothing/head/helmet/space/plasmaman/expedition
|
||||
name = "expedition plasma envirosuit helmet"
|
||||
desc = "A brown and blue helmet given to plasmaman explorers operating in Space.."
|
||||
icon_state = "expedition_envirohelm"
|
||||
item_state = "expedition_envirohelm"
|
||||
armor = list(MELEE = 25, BULLET = 20, LASER = 20, ENERGY = 5, BOMB = 15, RAD = 0, FIRE = INFINITY, ACID = 150)
|
||||
|
||||
/obj/item/clothing/head/helmet/space/plasmaman/chaplain
|
||||
name = "chaplain's plasma envirosuit helmet"
|
||||
desc = "An envirohelmet specially designed for only the most pious of plasmamen."
|
||||
|
||||
@@ -305,10 +305,63 @@
|
||||
icon_state = "carp_casual"
|
||||
body_parts_covered = HEAD
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
|
||||
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
|
||||
flags = BLOCKHAIR
|
||||
flags_inv = HIDEEARS
|
||||
|
||||
/obj/item/clothing/suit/hooded/carp_costume/dragon
|
||||
name = "space carp poncho"
|
||||
desc = "A poncho fashioned from the scales of a corrupted space carp, it still smells."
|
||||
armor = list(MELEE = 30, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, RAD = 15, FIRE = INFINITY, ACID = INFINITY)
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS|HANDS|FEET
|
||||
flags = STOPSPRESSUREDMAGE
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
|
||||
hoodtype = /obj/item/clothing/head/hooded/carp_hood/dragon
|
||||
|
||||
/obj/item/clothing/suit/hooded/carp_costume/dragon/equipped(mob/user, slot, initial)
|
||||
. = ..()
|
||||
if(slot == SLOT_HUD_OUTER_SUIT)
|
||||
user.faction += "carp"
|
||||
to_chat(user, "<span class='cult'>You feel a something gnash in the back of your mind- the carp are your friends, not your foe.</span>")
|
||||
playsound(loc, 'sound/weapons/bite.ogg', 35, TRUE)
|
||||
|
||||
/obj/item/clothing/suit/hooded/carp_costume/dragon/dropped(mob/user)
|
||||
. = ..()
|
||||
if(user)
|
||||
user.faction -= "carp"
|
||||
to_chat(user, "<span class='cult'>A sudden calm fills the gnashing void of your mind- you're alone now.</span>")
|
||||
|
||||
/mob/living/carbon/human/Process_Spacemove(movement_dir = 0)
|
||||
if(..())
|
||||
return TRUE
|
||||
|
||||
if(istype(wear_suit, /obj/item/clothing/suit/hooded/carp_costume/dragon))
|
||||
return TRUE
|
||||
//Do we have a working jetpack?
|
||||
var/obj/item/tank/jetpack/thrust
|
||||
if(istype(back, /obj/item/tank/jetpack))
|
||||
thrust = back
|
||||
else if(istype(wear_suit, /obj/item/clothing/suit/space/hardsuit))
|
||||
var/obj/item/clothing/suit/space/hardsuit/C = wear_suit
|
||||
thrust = C.jetpack
|
||||
else if(ismodcontrol(back))
|
||||
var/obj/item/mod/control/C = back
|
||||
thrust = locate(/obj/item/mod/module/jetpack) in C
|
||||
if(thrust)
|
||||
if((movement_dir || thrust.stabilizers) && thrust.allow_thrust(0.01, src))
|
||||
return TRUE
|
||||
if(dna.species.spec_Process_Spacemove(src))
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/obj/item/clothing/head/hooded/carp_hood/dragon
|
||||
name = "space carp hood"
|
||||
desc = "Fashioned from the maw of a carp, this outfit makes you feel like a fish out of water."
|
||||
armor = list(MELEE = 55, BULLET = 15, LASER = 15, ENERGY = 15, BOMB = 15, RAD = 15, FIRE = INFINITY, ACID = INFINITY)
|
||||
flags = STOPSPRESSUREDMAGE
|
||||
min_cold_protection_temperature = SPACE_HELM_MIN_TEMP_PROTECT
|
||||
|
||||
/obj/item/clothing/suit/hooded/salmon_costume
|
||||
name = "salmon suit"
|
||||
desc = "A costume made from authentic salmon scales, it reeks!"
|
||||
@@ -929,6 +982,13 @@
|
||||
allowed = list(/obj/item/pickaxe, /obj/item/t_scanner/adv_mining_scanner, /obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/energy/kinetic_accelerator, /obj/item/shovel, /obj/item/storage/bag/ore)
|
||||
armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 0, ACID = 0)
|
||||
|
||||
/obj/item/clothing/suit/jacket/expeditionbomber
|
||||
name = "expedition bomber jacket"
|
||||
desc = "A stylish jacket for station-side explorers. Won't do much to protect you from space."
|
||||
icon_state = "bomberexpedition"
|
||||
item_state = "bomberexpedition"
|
||||
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/gun/energy/kinetic_accelerator, /obj/item/t_scanner/adv_mining_scanner, /obj/item/shovel, /obj/item/pickaxe, /obj/item/storage/bag/ore, /obj/item/gps)
|
||||
|
||||
/obj/item/clothing/suit/jacket/hydrobomber
|
||||
name = "hydroponics bomber jacket"
|
||||
desc = "A stylish choice for the workers of the hydroponics lab."
|
||||
|
||||
@@ -77,3 +77,25 @@
|
||||
icon_state = "explorer"
|
||||
item_state = "explorer"
|
||||
item_color = "explorer"
|
||||
|
||||
/obj/item/clothing/under/rank/cargo/expedition
|
||||
name = "expedition jumpsuit"
|
||||
desc = "An armored brown jumpsuit with Nanotrasen markings for identification, and a black safety harness for their space suits."
|
||||
armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, RAD = 0, FIRE = 20, ACID = 20)
|
||||
icon_state = "expedition"
|
||||
item_state = "expedition"
|
||||
item_color = "expedition"
|
||||
|
||||
/obj/item/clothing/under/rank/cargo/expedition/skirt
|
||||
name = "expedition jumpskirt"
|
||||
desc = "An armoured brown jumpskirt with Nanotrasen markings for identification, and a black safety harness for their space suits."
|
||||
icon_state = "expedition_skirt"
|
||||
item_state = "expedition_skirt"
|
||||
item_color = "expedition_skirt"
|
||||
|
||||
/obj/item/clothing/under/rank/cargo/expedition/overalls
|
||||
name = "expedition overalls"
|
||||
desc = "A black set of overalls over a brown turtleneck, designed to protect the wearer from microscopic space debris. Does not protect against larger objects."
|
||||
icon_state = "expedition_overalls"
|
||||
item_state = "expedition_overalls"
|
||||
item_color = "expedition_overalls"
|
||||
|
||||
@@ -5,6 +5,13 @@
|
||||
item_state = "cargo_envirosuit"
|
||||
item_color = "cargo_envirosuit"
|
||||
|
||||
/obj/item/clothing/under/plasmaman/expedition
|
||||
name = "expedition envirosuit"
|
||||
desc = "An airtight brown and blue suit designed for operations in Space by plasmamen.."
|
||||
icon_state = "expedition_envirosuit"
|
||||
item_state = "expedition_envirosuit"
|
||||
item_color = "expedition_envirosuit"
|
||||
|
||||
/obj/item/clothing/under/plasmaman/mining
|
||||
name = "mining plasma envirosuit"
|
||||
desc = "An airtight khaki suit designed for operations on Lavaland by plasmamen."
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
/obj/effect/mapping_helpers/airlock/access/any/command/eva
|
||||
access = ACCESS_EVA
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/access/any/command/expedition
|
||||
/obj/effect/mapping_helpers/airlock/access/any/supply/expedition
|
||||
access = ACCESS_EXPEDITION
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/access/any/command/hop
|
||||
@@ -259,7 +259,7 @@
|
||||
/obj/effect/mapping_helpers/airlock/access/all/command/eva
|
||||
access = ACCESS_EVA
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/access/all/command/expedition
|
||||
/obj/effect/mapping_helpers/airlock/access/all/supply/expedition
|
||||
access = ACCESS_EXPEDITION
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/access/all/command/hop
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/any/command/eva
|
||||
access = ACCESS_EVA
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/any/command/expedition
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/any/supply/expedition
|
||||
access = ACCESS_EXPEDITION
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/any/command/hop
|
||||
@@ -262,7 +262,7 @@
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/all/command/eva
|
||||
access = ACCESS_EVA
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/all/command/expedition
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/all/supply/expedition
|
||||
access = ACCESS_EXPEDITION
|
||||
|
||||
/obj/effect/mapping_helpers/airlock/windoor/access/all/command/hop
|
||||
|
||||
@@ -370,6 +370,103 @@
|
||||
EQUIPMENT("Analyzer", /obj/item/analyzer, 50)
|
||||
)
|
||||
|
||||
/**********************Mining Equipment Vendor (Explorer)**************************/
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/explorer
|
||||
name = "explorer equipment vendor"
|
||||
desc = "An equipment vendor for explorers, points collected at an ore redemption machine can be spent here."
|
||||
icon_state = "explorer"
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/explorer/Initialize(mapload)
|
||||
. = ..()
|
||||
component_parts = list()
|
||||
component_parts += new /obj/item/circuitboard/mining_equipment_vendor/explorer(null)
|
||||
component_parts += new /obj/item/stock_parts/matter_bin(null)
|
||||
component_parts += new /obj/item/stock_parts/matter_bin(null)
|
||||
component_parts += new /obj/item/stock_parts/matter_bin(null)
|
||||
component_parts += new /obj/item/stack/sheet/glass(null)
|
||||
RefreshParts()
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/explorer/Initialize(mapload)
|
||||
. = ..()
|
||||
prize_list = list()
|
||||
prize_list["Equipment"] = list(
|
||||
EQUIPMENT("Advanced Scanner", /obj/item/t_scanner/adv_mining_scanner, 800),
|
||||
EQUIPMENT("Tacticool Toolbelt", /obj/item/storage/belt/utility/expedition, 500),
|
||||
EQUIPMENT("Fulton Beacon", /obj/item/fulton_core, 400),
|
||||
EQUIPMENT("GPS", /obj/item/gps, 200),
|
||||
EQUIPMENT("Treasure Satchel", /obj/item/storage/bag/expedition, 100),
|
||||
EQUIPMENT ("Robust Treasure Satchel", /obj/item/storage/bag/expedition/robust, 300),
|
||||
EQUIPMENT("Tracking Bio-chip Kit", /obj/item/storage/box/minertracker, 600),
|
||||
EQUIPMENT("Telecommunications Relay Kit", /obj/item/storage/box/relay_kit, 500),
|
||||
EQUIPMENT("Tracking Beacon", /obj/item/radio/beacon, 200),
|
||||
)
|
||||
prize_list["Modsuits"] = list(
|
||||
EQUIPMENT("Standard MODsuit", /obj/item/mod/control/pre_equipped/standard/explorer, 1000),
|
||||
EQUIPMENT("Advanced Jetpack Module", /obj/item/mod/module/jetpack/advanced, 2000),
|
||||
EQUIPMENT("Night Vision Module", /obj/item/mod/module/visor/night, 1500),
|
||||
EQUIPMENT("Clamp Module", /obj/item/mod/module/clamp, 500),
|
||||
EQUIPMENT("GPS Module", /obj/item/mod/module/gps, 500),
|
||||
EQUIPMENT("Mining MODsuit", /obj/item/mod/control/pre_equipped/mining/vendor, 3500),
|
||||
EQUIPMENT("Asteroid MODsuit Skin", /obj/item/mod/skin_applier/asteroid, 1000),
|
||||
)
|
||||
|
||||
prize_list["Consumables"] = list(
|
||||
EQUIPMENT("First-Aid Kit", /obj/item/storage/firstaid/regular, 400),
|
||||
EQUIPMENT("Advanced First-Aid Kit", /obj/item/storage/firstaid/adv, 600),
|
||||
EQUIPMENT("Fulton Pack", /obj/item/extraction_pack, 1000),
|
||||
EQUIPMENT("Point Transfer Card", /obj/item/card/mining_point_card, 500),
|
||||
EQUIPMENT("Stabilizing Serum", /obj/item/hivelordstabilizer, 400),
|
||||
)
|
||||
|
||||
prize_list["Kinetic Accelerator"] = list(
|
||||
EQUIPMENT("Kinetic Pistol", /obj/item/gun/energy/kinetic_accelerator/pistol, 750),
|
||||
EQUIPMENT("KA Adjustable Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer/adjustable, 150),
|
||||
EQUIPMENT("KA AoE Damage", /obj/item/borg/upgrade/modkit/aoe/mobs, 2000),
|
||||
EQUIPMENT("KA Cooldown Decrease", /obj/item/borg/upgrade/modkit/cooldown, 1000),
|
||||
EQUIPMENT("KA Damage Increase", /obj/item/borg/upgrade/modkit/damage, 1000),
|
||||
EQUIPMENT("KA Hyper Chassis", /obj/item/borg/upgrade/modkit/chassis_mod/orange, 300),
|
||||
EQUIPMENT("KA Range Increase", /obj/item/borg/upgrade/modkit/range, 1000),
|
||||
EQUIPMENT("KA Super Chassis", /obj/item/borg/upgrade/modkit/chassis_mod, 250),
|
||||
EQUIPMENT("KA White Tracer Rounds", /obj/item/borg/upgrade/modkit/tracer, 100),
|
||||
)
|
||||
|
||||
prize_list["Miscellaneous"] = list(
|
||||
EQUIPMENT("Alien Toy", /obj/item/clothing/mask/facehugger/toy, 300),
|
||||
EQUIPMENT("Toy Sword", /obj/item/toy/sword, 200),
|
||||
EQUIPMENT("Cigar", /obj/item/clothing/mask/cigarette/cigar/havana, 150),
|
||||
EQUIPMENT("Laser Pointer", /obj/item/laser_pointer, 300),
|
||||
EQUIPMENT("Suspicious ID Sticker", /obj/item/id_decal/emag, 400),
|
||||
EQUIPMENT("Syndicate Coin", /obj/item/coin/antagtoken/syndicate, 100),
|
||||
EQUIPMENT("Space Cash", /obj/item/stack/spacecash/c200, 2000),
|
||||
)
|
||||
|
||||
/obj/machinery/mineral/equipment_vendor/explorer/attackby(obj/item/I, mob/user, params)
|
||||
if(default_deconstruction_screwdriver(user, "explorer-open", "explorer", I))
|
||||
return
|
||||
if(panel_open)
|
||||
if(istype(I, /obj/item/crowbar))
|
||||
remove_id()
|
||||
default_deconstruction_crowbar(user, I)
|
||||
return TRUE
|
||||
if(istype(I, /obj/item/mining_voucher))
|
||||
if(!has_power())
|
||||
return
|
||||
redeem_voucher(I, user)
|
||||
return
|
||||
if(istype(I, /obj/item/card/id))
|
||||
if(!has_power())
|
||||
return
|
||||
var/obj/item/card/id/C = user.get_active_hand()
|
||||
if(istype(C) && !istype(inserted_id))
|
||||
if(!user.drop_item())
|
||||
return
|
||||
C.forceMove(src)
|
||||
inserted_id = C
|
||||
ui_interact(user)
|
||||
return
|
||||
return ..()
|
||||
|
||||
/**********************Mining Equipment Datum**************************/
|
||||
|
||||
/datum/data/mining_equipment
|
||||
@@ -416,4 +513,3 @@
|
||||
|
||||
|
||||
#undef EQUIPMENT
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -45,6 +45,14 @@
|
||||
/obj/item/mod/module/flashlight,
|
||||
)
|
||||
|
||||
/obj/item/mod/control/pre_equipped/standard/explorer
|
||||
applied_modules = list(
|
||||
/obj/item/mod/module/storage/large_capacity,
|
||||
/obj/item/mod/module/welding,
|
||||
/obj/item/mod/module/flashlight,
|
||||
/obj/item/mod/module/jetpack
|
||||
)
|
||||
|
||||
/obj/item/mod/control/pre_equipped/engineering
|
||||
theme = /datum/mod_theme/engineering
|
||||
applied_modules = list(
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
/datum/data/pda/messenger_plugin/proc/user_act(mob/user as mob, obj/item/pda/P)
|
||||
return
|
||||
|
||||
|
||||
/datum/data/pda/messenger_plugin/virus
|
||||
name = "*Send Virus*"
|
||||
|
||||
|
||||
@@ -133,6 +133,9 @@
|
||||
/obj/item/pda/shaftminer
|
||||
icon_state = "pda-miner"
|
||||
|
||||
/obj/item/pda/explorer
|
||||
icon_state = "pda-exp"
|
||||
|
||||
/obj/item/pda/syndicate
|
||||
default_cartridge = /obj/item/cartridge/syndicate/nuclear
|
||||
icon_state = "pda-syndi"
|
||||
|
||||
@@ -269,6 +269,18 @@
|
||||
K.color = color
|
||||
|
||||
|
||||
/obj/item/gun/energy/kinetic_accelerator/pistol
|
||||
name = "proto-kinetic pistol"
|
||||
desc = "A lightweight mining tool, sacrificing upgrade capacity for convenience."
|
||||
icon_state = "kineticgun_p"
|
||||
item_state = "gun"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
max_mod_capacity = 65
|
||||
can_bayonet = FALSE
|
||||
can_flashlight = FALSE
|
||||
can_holster = TRUE
|
||||
|
||||
|
||||
//Modkits
|
||||
/obj/item/borg/upgrade/modkit
|
||||
name = "kinetic accelerator modification kit"
|
||||
|
||||
@@ -518,7 +518,7 @@
|
||||
id = "ore_redemption"
|
||||
req_tech = list("programming" = 2, "engineering" = 2, "plasmatech" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/ore_redemption
|
||||
category = list ("Misc. Machinery")
|
||||
|
||||
@@ -528,17 +528,27 @@
|
||||
id = "mining_equipment_vendor"
|
||||
req_tech = list("engineering" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/mining_equipment_vendor
|
||||
category = list ("Misc. Machinery")
|
||||
|
||||
/datum/design/explorer_equipment_vendor
|
||||
name = "Machine Design (Explorer Rewards Vendor Board)"
|
||||
desc = "The circuit board for an Explorer Rewards Vendor."
|
||||
id = "explorer_equipment_vendor"
|
||||
req_tech = list("engineering" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/mining_equipment_vendor/explorer
|
||||
category = list ("Misc. Machinery")
|
||||
|
||||
/datum/design/clawgame
|
||||
name = "Machine Design (Claw Game Board)"
|
||||
desc = "The circuit board for a Claw Game."
|
||||
id = "clawgame"
|
||||
req_tech = list("programming" = 1)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/clawgame
|
||||
category = list ("Misc. Machinery")
|
||||
|
||||
@@ -548,7 +558,7 @@
|
||||
id = "prize_counter"
|
||||
req_tech = list("programming" = 2, "materials" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/prize_counter
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
@@ -558,7 +568,7 @@
|
||||
id = "gameboard"
|
||||
req_tech = list("programming" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/gameboard
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
@@ -568,7 +578,7 @@
|
||||
id = "plantgenes"
|
||||
req_tech = list("programming" = 4, "biotech" = 3)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/plantgenes
|
||||
category = list("Hydroponics Machinery")
|
||||
|
||||
@@ -578,7 +588,7 @@
|
||||
id = "slotmachine"
|
||||
req_tech = list("programming" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/slot_machine
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
@@ -588,6 +598,6 @@
|
||||
id = "bottlers"
|
||||
req_tech = list("programming" = 2)
|
||||
build_type = IMPRINTER
|
||||
materials = list(MAT_GLASS=1000)
|
||||
materials = list(MAT_GLASS = 1000)
|
||||
build_path = /obj/item/circuitboard/bottler
|
||||
category = list("Misc. Machinery")
|
||||
|
||||
@@ -808,6 +808,34 @@
|
||||
if(istype(AM.loc, /obj/mecha/working))
|
||||
return COMSIG_CARGO_SELL_SKIP
|
||||
|
||||
/datum/economy/simple_seller/explorer_salvage
|
||||
var/list/salvage_counts = list()
|
||||
|
||||
/datum/economy/simple_seller/explorer_salvage/begin_sell(obj/docking_port/mobile/supply/S)
|
||||
LAZYCLEARLIST(salvage_counts)
|
||||
|
||||
/datum/economy/simple_seller/explorer_salvage/check_sell(obj/docking_port/mobile/supply/S, atom/movable/AM)
|
||||
if(istype(AM, /obj/item/salvage))
|
||||
return COMSIG_CARGO_SELL_NORMAL
|
||||
|
||||
/datum/economy/simple_seller/explorer_salvage/sell_normal(obj/docking_port/mobile/supply/S, atom/movable/AM, datum/economy/cargo_shuttle_manifest/manifest)
|
||||
if(!..())
|
||||
return
|
||||
|
||||
salvage_counts[AM.name]++
|
||||
|
||||
/datum/economy/simple_seller/explorer_salvage/end_sell(obj/docking_port/mobile/supply/S, datum/economy/cargo_shuttle_manifest/manifest)
|
||||
if(!salvage_counts)
|
||||
return
|
||||
for(var/salvage_name in salvage_counts)
|
||||
var/datum/economy/line_item/item = new
|
||||
item.account = SSeconomy.cargo_account
|
||||
var/count = salvage_counts[salvage_name]
|
||||
item.credits = count * SSeconomy.credits_per_salvage
|
||||
item.reason = "Received [count] haul(s) of [salvage_name]."
|
||||
manifest.line_items += item
|
||||
SSblackbox.record_feedback("nested tally", "cargo salvage sold", count, list(salvage_name, "count"))
|
||||
SSblackbox.record_feedback("nested tally", "cargo salvage sold", item.credits, list(salvage_name, "credits"))
|
||||
|
||||
/datum/economy/cargo_shuttle_manifest
|
||||
var/list/items_to_sell = list()
|
||||
|
||||
@@ -522,7 +522,8 @@
|
||||
/datum/supply_packs/misc/vending/clothingvendor/cargo
|
||||
name = "Cargo Clothing Vendors Crate"
|
||||
cost = 50
|
||||
contains = list(/obj/item/vending_refill/cargodrobe)
|
||||
contains = list(/obj/item/vending_refill/cargodrobe,
|
||||
/obj/item/vending_refill/exploredrobe)
|
||||
containername = "cargo clothing vendor crate"
|
||||
|
||||
///////////// Station Goals
|
||||
|
||||
Reference in New Issue
Block a user