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
+6 -4
View File
@@ -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
+13
View File
@@ -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"
-1
View File
@@ -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
+10
View File
@@ -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."
+61 -1
View File
@@ -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."
+22
View File
@@ -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."
+2 -2
View File
@@ -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
+97 -1
View File
@@ -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"
+8
View File
@@ -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(
-1
View File
@@ -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*"
+3
View File
@@ -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")
+28
View File
@@ -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