mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 02:16:05 +00:00
Loadouts (#14898)
* Adds loadouts. * Fixes some mistakes. * Added a "delete stripped items" option to the Equip Loadout verb. Began moving some of the equipment sets from Select Equipment into loadout objects. * Adds another batch of loadouts migrated from Select Equipment. * Fix compile failure. * Finishes migrating Select Equipment into loadouts. * Fix compile error. * Handles things in a better way. Removes some needless children. * Why bother with local compiles when Travis exists? * Final tweaks.
This commit is contained in:
@@ -285,6 +285,26 @@ var/global/list/obj/item/device/pda/PDAs = list()
|
||||
default_cartridge = /obj/item/weapon/cartridge/head
|
||||
icon_state = "pda-h"
|
||||
|
||||
/obj/item/device/pda/heads/assassin
|
||||
name = "Reaper PDA"
|
||||
ownjob = "Reaper"
|
||||
|
||||
/obj/item/device/pda/heads/nt_rep
|
||||
name = "Nanotrasen Navy Representative PDA"
|
||||
ownjob = "Nanotrasen Navy Representative"
|
||||
|
||||
/obj/item/device/pda/heads/nt_officer
|
||||
name = "Nanotrasen Navy Officer PDA"
|
||||
ownjob = "Nanotrasen Navy Officer"
|
||||
|
||||
/obj/item/device/pda/heads/nt_captain
|
||||
name = "Nanotrasen Navy Captain PDA"
|
||||
ownjob = "Nanotrasen Navy Captain"
|
||||
|
||||
/obj/item/device/pda/heads/nt_supreme
|
||||
name = "Nanotrasen Supreme Commander PDA"
|
||||
ownjob = "Nanotrasen Supreme Commander"
|
||||
|
||||
/obj/item/device/pda/heads/hop
|
||||
name = "Head of Personnel PDA"
|
||||
default_cartridge = /obj/item/weapon/cartridge/hop
|
||||
|
||||
@@ -37,6 +37,10 @@
|
||||
syndie = 1
|
||||
recalculateChannels()
|
||||
|
||||
/obj/item/device/radio/headset/syndicate/commando/New()
|
||||
..()
|
||||
set_frequency(SYND_FREQ)
|
||||
|
||||
/obj/item/device/radio/headset/binary
|
||||
origin_tech = Tc_SYNDICATE + "=3"
|
||||
/obj/item/device/radio/headset/binary/New()
|
||||
|
||||
@@ -692,3 +692,105 @@
|
||||
icon_state = "trader"
|
||||
access = list(access_trade)
|
||||
base_access = list(access_trade)
|
||||
|
||||
/obj/item/weapon/card/id/tunnel_clown
|
||||
name = "Tunnel Clown ID card"
|
||||
assignment = "Tunnel Clown!"
|
||||
|
||||
/obj/item/weapon/card/id/tunnel_clown/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/assassin
|
||||
name = "Reaper ID card"
|
||||
assignment = "Reaper"
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/assassin/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
|
||||
/obj/item/weapon/card/id/death_commando
|
||||
name = "Reaper ID card"
|
||||
assignment = "Death Commando"
|
||||
icon_state = "deathsquad"
|
||||
|
||||
/obj/item/weapon/card/id/death_commando/New()
|
||||
..()
|
||||
access = get_centcom_access("Death Commando")
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/commando
|
||||
name = "Syndicate Commando ID card"
|
||||
assignment = "Syndicate Commando"
|
||||
icon_state = "id"
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/commando/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += list(access_cent_general, access_cent_specops, access_cent_living, access_cent_storage, access_syndicate)
|
||||
|
||||
/obj/item/weapon/card/id/nt_rep
|
||||
name = "Nanotrasen Navy Representative ID card"
|
||||
assignment = "Nanotrasen Navy Representative"
|
||||
icon_state = "centcom"
|
||||
item_state = "id_inv"
|
||||
|
||||
/obj/item/weapon/card/id/nt_rep/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer")
|
||||
|
||||
/obj/item/weapon/card/id/centcom/nt_officer
|
||||
name = "Nanotrasen Navy Officer ID card"
|
||||
assignment = "Nanotrasen Navy Officer"
|
||||
|
||||
/obj/item/weapon/card/id/centcom/nt_officer/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += get_all_centcom_access()
|
||||
|
||||
/obj/item/weapon/card/id/centcom/nt_captain
|
||||
name = "Nanotrasen Navy Captain ID card"
|
||||
assignment = "Nanotrasen Navy Captain"
|
||||
|
||||
/obj/item/weapon/card/id/centcom/nt_captain/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += get_all_centcom_access()
|
||||
|
||||
/obj/item/weapon/card/id/admin/nt_supreme
|
||||
name = "Nanotrasen Supreme Commander ID card"
|
||||
assignment = "Nanotrasen Supreme Commander"
|
||||
|
||||
/obj/item/weapon/card/id/admin/nt_supreme/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += get_all_centcom_access()
|
||||
|
||||
/obj/item/weapon/card/id/emergency_responder
|
||||
name = "Emergency Responder ID card"
|
||||
assignment = "Emergency Responder"
|
||||
icon_state = "ERT_empty"
|
||||
|
||||
/obj/item/weapon/card/id/emergency_responder/New()
|
||||
..()
|
||||
access = get_centcom_access("Emergency Responder")
|
||||
|
||||
/obj/item/weapon/card/id/special_operations
|
||||
name = "Special Operations Officer ID card"
|
||||
assignment = "Special Operations Officer"
|
||||
icon_state = "centcom"
|
||||
|
||||
/obj/item/weapon/card/id/special_operations/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += get_all_centcom_access()
|
||||
|
||||
/obj/item/weapon/card/id/soviet_admiral
|
||||
name = "Admiral ID card"
|
||||
assignment = "Admiral"
|
||||
icon_state = "centcom"
|
||||
|
||||
/obj/item/weapon/card/id/soviet_admiral/New()
|
||||
..()
|
||||
access = get_all_accesses()
|
||||
access += get_all_centcom_access()
|
||||
|
||||
@@ -224,6 +224,15 @@
|
||||
|
||||
return*/
|
||||
|
||||
/obj/item/weapon/storage/secure/briefcase/assassin/New()
|
||||
..()
|
||||
for(var/i = 1 to 3)
|
||||
new /obj/item/weapon/spacecash/c1000(src)
|
||||
new /obj/item/weapon/gun/energy/crossbow(src)
|
||||
new /obj/item/weapon/gun/projectile/mateba(src)
|
||||
new /obj/item/ammo_storage/box/a357(src)
|
||||
new /obj/item/weapon/plastique(src)
|
||||
|
||||
// -----------------------------
|
||||
// Secure Safe
|
||||
// -----------------------------
|
||||
|
||||
517
code/game/objects/loadouts.dm
Normal file
517
code/game/objects/loadouts.dm
Normal file
@@ -0,0 +1,517 @@
|
||||
/obj/abstract/loadout
|
||||
var/list/items_to_spawn = list()
|
||||
|
||||
/obj/abstract/loadout/New(turf/T, var/mob/M, var/unequip_current = TRUE)
|
||||
..(T)
|
||||
if(istype(M))
|
||||
if(unequip_current)
|
||||
M.unequip_everything() //unequip everything before equipping loadout
|
||||
equip_items(M)
|
||||
spawn(10) //to allow its items to be manually spawned and accessed, for the purposes of obtaining references
|
||||
if(!gcDestroyed)
|
||||
get_items()
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/proc/get_items()
|
||||
. = spawn_items()
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/proc/equip_items(var/mob/M)
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/proc/spawn_items()
|
||||
var/list/to_return = list()
|
||||
for(var/T in items_to_spawn)
|
||||
if(ispath(T, /obj/item))
|
||||
var/obj/item/I = new T(loc)
|
||||
to_return.Add(I)
|
||||
return to_return
|
||||
|
||||
/obj/abstract/loadout/proc/alter_items(var/list/items, var/mob/M)
|
||||
|
||||
/obj/abstract/loadout/gemsuit
|
||||
items_to_spawn = list(/obj/item/clothing/head/helmet/space/rig/wizard,
|
||||
/obj/item/clothing/suit/space/rig/wizard,
|
||||
/obj/item/clothing/gloves/purple,
|
||||
/obj/item/clothing/shoes/sandal)
|
||||
|
||||
/obj/abstract/loadout/nazi_rigsuit
|
||||
items_to_spawn = list(/obj/item/clothing/head/helmet/space/rig/nazi,
|
||||
/obj/item/clothing/suit/space/rig/nazi)
|
||||
|
||||
/obj/abstract/loadout/soviet_rigsuit
|
||||
items_to_spawn = list(/obj/item/clothing/head/helmet/space/rig/soviet,
|
||||
/obj/item/clothing/suit/space/rig/soviet)
|
||||
|
||||
/obj/abstract/loadout/dredd_gear
|
||||
items_to_spawn = list(/obj/item/clothing/under/darkred,
|
||||
/obj/item/clothing/suit/armor/xcomsquaddie/dredd,
|
||||
/obj/item/clothing/glasses/hud/security,
|
||||
/obj/item/clothing/mask/gas/swat,
|
||||
/obj/item/clothing/head/helmet/dredd,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/clothing/shoes/combat,
|
||||
/obj/item/weapon/storage/belt/security,
|
||||
/obj/item/weapon/gun/lawgiver)
|
||||
|
||||
/obj/abstract/loadout/standard_space_gear
|
||||
items_to_spawn = list(/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/under/color/grey,
|
||||
/obj/item/clothing/suit/space,
|
||||
/obj/item/clothing/head/helmet/space,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/engineer_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig,
|
||||
/obj/item/clothing/head/helmet/space/rig,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/CE_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/elite,
|
||||
/obj/item/clothing/head/helmet/space/rig/elite,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/mining_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/mining,
|
||||
/obj/item/clothing/head/helmet/space/rig/mining,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/syndi_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/syndi,
|
||||
/obj/item/clothing/head/helmet/space/rig/syndi,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/wizard_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/wizard,
|
||||
/obj/item/clothing/head/helmet/space/rig/wizard,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/medical_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/medical,
|
||||
/obj/item/clothing/head/helmet/space/rig/medical,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/atmos_RIG
|
||||
items_to_spawn = list(/obj/item/clothing/suit/space/rig/atmos,
|
||||
/obj/item/clothing/head/helmet/space/rig/atmos,
|
||||
/obj/item/weapon/tank/jetpack/oxygen,
|
||||
/obj/item/clothing/mask/breath)
|
||||
|
||||
/obj/abstract/loadout/tournament_standard_red
|
||||
items_to_spawn = list(/obj/item/clothing/under/color/red,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/suit/armor/vest,
|
||||
/obj/item/clothing/head/helmet/thunderdome,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/grenade/smokebomb)
|
||||
|
||||
/obj/abstract/loadout/tournament_standard_green
|
||||
items_to_spawn = list(/obj/item/clothing/under/color/green,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/suit/armor/vest,
|
||||
/obj/item/clothing/head/helmet/thunderdome,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/destroyer,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/grenade/smokebomb)
|
||||
|
||||
/obj/abstract/loadout/tournament_gangster
|
||||
items_to_spawn = list(/obj/item/clothing/under/det,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/suit/storage/det_suit,
|
||||
/obj/item/clothing/glasses/thermal/monocle,
|
||||
/obj/item/clothing/head/det_hat,
|
||||
/obj/item/weapon/cloaking_device,
|
||||
/obj/item/weapon/gun/projectile,
|
||||
/obj/item/ammo_storage/box/a357)
|
||||
|
||||
/obj/abstract/loadout/tournament_chef
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/chef,
|
||||
/obj/item/clothing/suit/chef,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/head/chefhat,
|
||||
/obj/item/weapon/kitchen/rollingpin,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large)
|
||||
|
||||
/obj/abstract/loadout/tournament_janitor
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/janitor,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/mop,
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/water_filled,
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel,
|
||||
/obj/item/stack/tile/plasteel)
|
||||
|
||||
/obj/abstract/loadout/pirate
|
||||
items_to_spawn = list(/obj/item/clothing/under/pirate,
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/clothing/head/bandana,
|
||||
/obj/item/clothing/glasses/eyepatch,
|
||||
/obj/item/weapon/melee/energy/sword/pirate)
|
||||
|
||||
/obj/abstract/loadout/space_pirate
|
||||
items_to_spawn = list(/obj/item/clothing/under/pirate,
|
||||
/obj/item/clothing/shoes/brown,
|
||||
/obj/item/clothing/suit/space/pirate,
|
||||
/obj/item/clothing/head/helmet/space/pirate,
|
||||
/obj/item/clothing/glasses/eyepatch,
|
||||
/obj/item/weapon/melee/energy/sword/pirate)
|
||||
|
||||
/obj/abstract/loadout/soviet_soldier
|
||||
items_to_spawn = list(/obj/item/clothing/under/soviet,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/head/ushanka)
|
||||
|
||||
/obj/abstract/loadout/tunnel_clown
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/clown,
|
||||
/obj/item/clothing/shoes/clown_shoes,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/clothing/mask/gas/clown_hat,
|
||||
/obj/item/clothing/head/chaplain_hood,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/glasses/thermal/monocle,
|
||||
/obj/item/clothing/suit/chaplain_hoodie,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/grown/banana,
|
||||
/obj/item/weapon/bikehorn,
|
||||
/obj/item/weapon/card/id/tunnel_clown,
|
||||
/obj/item/weapon/fireaxe)
|
||||
|
||||
/obj/abstract/loadout/tunnel_clown/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/masked_killer
|
||||
items_to_spawn = list(/obj/item/clothing/under/overalls,
|
||||
/obj/item/clothing/shoes/white,
|
||||
/obj/item/clothing/gloves/latex,
|
||||
/obj/item/clothing/mask/surgical,
|
||||
/obj/item/clothing/head/welding,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/glasses/thermal/monocle,
|
||||
/obj/item/clothing/suit/apron,
|
||||
/obj/item/weapon/kitchen/utensil/knife/large,
|
||||
/obj/item/weapon/scalpel,
|
||||
/obj/item/weapon/fireaxe)
|
||||
|
||||
/obj/abstract/loadout/masked_killer/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/I in items)
|
||||
I.add_blood(M)
|
||||
|
||||
/obj/abstract/loadout/assassin
|
||||
items_to_spawn = list(/obj/item/clothing/under/suit_jacket,
|
||||
/obj/item/clothing/shoes/black,
|
||||
/obj/item/clothing/gloves/black,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/clothing/suit/wcoat,
|
||||
/obj/item/weapon/melee/energy/sword,
|
||||
/obj/item/weapon/cloaking_device,
|
||||
/obj/item/weapon/storage/secure/briefcase/assassin,
|
||||
/obj/item/device/pda/heads/assassin,
|
||||
/obj/item/weapon/card/id/syndicate/assassin)
|
||||
|
||||
/obj/abstract/loadout/assassin/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/death_commando
|
||||
items_to_spawn = list(/obj/item/device/radio/headset/deathsquad,
|
||||
/obj/item/clothing/under/deathsquad,
|
||||
/obj/item/weapon/melee/energy/sword,
|
||||
/obj/item/weapon/gun/projectile/mateba,
|
||||
/obj/item/clothing/shoes/magboots/deathsquad,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/clothing/glasses/thermal,
|
||||
/obj/item/clothing/head/helmet/space/rig/deathsquad,
|
||||
/obj/item/clothing/mask/gas/swat,
|
||||
/obj/item/clothing/suit/space/rig/deathsquad,
|
||||
/obj/item/weapon/tank/emergency_oxygen/double,
|
||||
/obj/item/weapon/storage/backpack/security,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/ammo_storage/box/a357,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/pinpointer,
|
||||
/obj/item/weapon/shield/energy,
|
||||
/obj/item/weapon/plastique,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle,
|
||||
/obj/item/weapon/card/id/death_commando)
|
||||
|
||||
/obj/abstract/loadout/death_commando/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/death_commando/equip_items(var/mob/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.equip_death_commando()
|
||||
else
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/syndicate_commando
|
||||
items_to_spawn = list(/obj/item/device/radio/headset/syndicate/commando,
|
||||
/obj/item/clothing/under/syndicate/commando,
|
||||
/obj/item/weapon/melee/energy/sword,
|
||||
/obj/item/weapon/grenade/empgrenade,
|
||||
/obj/item/weapon/gun/projectile/silenced,
|
||||
/obj/item/clothing/shoes/swat,
|
||||
/obj/item/clothing/gloves/swat,
|
||||
/obj/item/clothing/glasses/thermal,
|
||||
/obj/item/clothing/mask/gas/syndicate,
|
||||
/obj/item/clothing/head/helmet/space/syndicate/black,
|
||||
/obj/item/clothing/suit/space/syndicate/black,
|
||||
/obj/item/weapon/tank/emergency_oxygen,
|
||||
/obj/item/weapon/storage/backpack/security,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/ammo_storage/box/c45,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/plastique,
|
||||
/obj/item/osipr_core,
|
||||
/obj/item/weapon/plastique,
|
||||
/obj/item/energy_magazine/osipr,
|
||||
/obj/item/weapon/gun/osipr,
|
||||
/obj/item/weapon/card/id/syndicate/commando)
|
||||
|
||||
/obj/abstract/loadout/syndicate_commando/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/syndicate_commando/equip_items(var/mob/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.equip_syndicate_commando()
|
||||
else
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_representative
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/representative,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/device/radio/headset/heads/hop,
|
||||
/obj/item/device/pda/heads/nt_rep,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/clipboard,
|
||||
/obj/item/weapon/card/id/nt_rep)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_representative/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_officer
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/officer,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/head/beret/centcom/officer,
|
||||
/obj/item/device/pda/heads/nt_officer,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/gun/energy,
|
||||
/obj/item/weapon/card/id/centcom/nt_officer)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_officer/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_captain
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/captain,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/white,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/head/beret/centcom/captain,
|
||||
/obj/item/device/pda/heads/nt_captain,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/gun/energy,
|
||||
/obj/item/weapon/card/id/centcom/nt_officer)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_captain/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_supreme_commander
|
||||
items_to_spawn = list(/obj/item/clothing/under/rank/centcom/captain,
|
||||
/obj/item/clothing/shoes/centcom,
|
||||
/obj/item/clothing/gloves/centcom,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/head/centhat,
|
||||
/obj/item/clothing/suit/armor/centcomm,
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/weapon/gun/energy/laser/captain,
|
||||
/obj/item/device/pda/heads/nt_supreme,
|
||||
/obj/item/weapon/card/id/admin/nt_supreme)
|
||||
|
||||
/obj/abstract/loadout/nanotrasen_supreme_commander/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
for(var/obj/item/device/pda/P in items)
|
||||
P.owner = M.real_name
|
||||
P.name = "PDA-[M.real_name] ([P.ownjob])"
|
||||
|
||||
/obj/abstract/loadout/emergency_response_team
|
||||
items_to_spawn = list(/obj/item/device/radio/headset/ert,
|
||||
/obj/item/clothing/under/ert,
|
||||
/obj/item/device/flashlight,
|
||||
/obj/item/weapon/gun/energy/gun,
|
||||
/obj/item/clothing/glasses/sunglasses/sechud,
|
||||
/obj/item/clothing/shoes/swat,
|
||||
/obj/item/clothing/gloves/swat,
|
||||
/obj/item/weapon/storage/backpack/security,
|
||||
/obj/item/weapon/storage/box/survival/ert,
|
||||
/obj/item/weapon/storage/firstaid/regular,
|
||||
/obj/item/weapon/card/id/emergency_responder)
|
||||
|
||||
/obj/abstract/loadout/emergency_response_team/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/emergency_response_team/equip_items(var/mob/M)
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
H.equip_response_team()
|
||||
else
|
||||
var/list/spawned_items = spawn_items()
|
||||
alter_items(spawned_items, M)
|
||||
M.recursive_list_equip(spawned_items)
|
||||
qdel(src)
|
||||
|
||||
/obj/abstract/loadout/special_ops_officer
|
||||
items_to_spawn = list(/obj/item/clothing/under/syndicate/combat,
|
||||
/obj/item/clothing/suit/armor/swat/officer,
|
||||
/obj/item/clothing/shoes/combat,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/glasses/thermal/eyepatch,
|
||||
/obj/item/clothing/mask/cigarette/cigar/havana,
|
||||
/obj/item/clothing/head/beret/centcom,
|
||||
/obj/item/weapon/gun/energy/pulse_rifle/M1911,
|
||||
/obj/item/weapon/lighter/zippo,
|
||||
/obj/item/weapon/storage/backpack/satchel,
|
||||
/obj/item/weapon/card/id/special_operations)
|
||||
|
||||
/obj/abstract/loadout/special_ops_officer/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/blue_wizard
|
||||
items_to_spawn = list(/obj/item/clothing/under/lightpurple,
|
||||
/obj/item/clothing/suit/wizrobe,
|
||||
/obj/item/clothing/shoes/sandal,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/head/wizard,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/weapon/teleportation_scroll,
|
||||
/obj/item/weapon/spellbook,
|
||||
/obj/item/weapon/staff)
|
||||
|
||||
/obj/abstract/loadout/red_wizard
|
||||
items_to_spawn = list(/obj/item/clothing/under/lightpurple,
|
||||
/obj/item/clothing/suit/wizrobe/red,
|
||||
/obj/item/clothing/shoes/sandal,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/head/wizard/red,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/weapon/teleportation_scroll,
|
||||
/obj/item/weapon/spellbook,
|
||||
/obj/item/weapon/staff)
|
||||
|
||||
/obj/abstract/loadout/marisa_wizard
|
||||
items_to_spawn = list(/obj/item/clothing/under/lightpurple,
|
||||
/obj/item/clothing/suit/wizrobe/marisa,
|
||||
/obj/item/clothing/shoes/sandal/marisa,
|
||||
/obj/item/device/radio/headset,
|
||||
/obj/item/clothing/head/wizard/marisa,
|
||||
/obj/item/weapon/storage/backpack,
|
||||
/obj/item/weapon/storage/box,
|
||||
/obj/item/weapon/teleportation_scroll,
|
||||
/obj/item/weapon/spellbook,
|
||||
/obj/item/weapon/staff)
|
||||
|
||||
/obj/abstract/loadout/soviet_admiral
|
||||
items_to_spawn = list(/obj/item/clothing/head/hgpiratecap,
|
||||
/obj/item/clothing/shoes/combat,
|
||||
/obj/item/clothing/gloves/combat,
|
||||
/obj/item/device/radio/headset/heads/captain,
|
||||
/obj/item/clothing/glasses/thermal/eyepatch,
|
||||
/obj/item/clothing/suit/hgpirate,
|
||||
/obj/item/weapon/storage/backpack/satchel,
|
||||
/obj/item/weapon/gun/projectile/mateba,
|
||||
/obj/item/clothing/under/soviet,
|
||||
/obj/item/weapon/card/id/soviet_admiral)
|
||||
|
||||
/obj/abstract/loadout/soviet_admiral/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/weapon/card/id/I in items)
|
||||
I.name = "[M.real_name]'s ID Card"
|
||||
I.registered_name = M.real_name
|
||||
|
||||
/obj/abstract/loadout/bomberman
|
||||
items_to_spawn = list(/obj/item/clothing/under/darkblue,
|
||||
/obj/item/clothing/shoes/purple,
|
||||
/obj/item/clothing/head/helmet/space/bomberman,
|
||||
/obj/item/clothing/suit/space/bomberman,
|
||||
/obj/item/clothing/gloves/purple,
|
||||
/obj/item/weapon/bomberman)
|
||||
|
||||
/obj/abstract/loadout/arena_bomberman
|
||||
items_to_spawn = list(/obj/item/clothing/under/darkblue,
|
||||
/obj/item/clothing/shoes/purple,
|
||||
/obj/item/clothing/head/helmet/space/bomberman,
|
||||
/obj/item/clothing/suit/space/bomberman,
|
||||
/obj/item/clothing/gloves/purple,
|
||||
/obj/item/weapon/bomberman)
|
||||
|
||||
/obj/abstract/loadout/arena_bomberman/alter_items(var/list/items, var/mob/M)
|
||||
for(var/obj/item/clothing/C in items)
|
||||
C.canremove = 0
|
||||
if(istype(C, /obj/item/clothing/suit/space/bomberman))
|
||||
var/obj/item/clothing/suit/space/bomberman/B = C
|
||||
B.slowdown = HARDSUIT_SLOWDOWN_LOW
|
||||
var/list/randomhexes = list("7","8","9","a","b","c","d","e","f",)
|
||||
M.color = "#[pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)]"
|
||||
M.name = "Bomberman #[rand(1,999)]"
|
||||
@@ -206,7 +206,7 @@ obj/structure/safe/ex_act(severity)
|
||||
/obj/item/weapon/gun/energy/staff,
|
||||
/obj/item/weapon/gun/energy/staff/animate,
|
||||
/obj/item/weapon/gun/energy/staff/focus,
|
||||
/obj/item/complete/rig/wizard
|
||||
/obj/abstract/loadout/gemsuit
|
||||
)
|
||||
|
||||
/obj/structure/safe/floor/wizard/New()
|
||||
|
||||
@@ -120,11 +120,11 @@ var/list/admin_verbs_fun = list(
|
||||
var/list/admin_verbs_spawn = list(
|
||||
/datum/admins/proc/spawn_atom, // Allows us to spawn instances
|
||||
/client/proc/spawn_datum, //Allows us to spawn datums to the marked datum buffer
|
||||
/client/proc/cmd_admin_dress, //Allows us to spawn clothing and dress a mob with it in one click
|
||||
/client/proc/respawn_character, //Allows us to re-spawn someone
|
||||
/client/proc/debug_reagents, //Allows us to spawn reagents in mobs/containers
|
||||
/client/proc/create_awaymission, //Allows us to summon away missions
|
||||
/client/proc/create_map_element
|
||||
/client/proc/create_map_element,
|
||||
/client/proc/cmd_admin_equip_loadout //Allows us to equip sets of items to mobs
|
||||
)
|
||||
var/list/admin_verbs_server = list(
|
||||
/client/proc/Set_Holiday,
|
||||
@@ -228,7 +228,6 @@ var/list/admin_verbs_hideable = list(
|
||||
/client/proc/play_local_sound,
|
||||
/client/proc/play_sound,
|
||||
/client/proc/object_talk,
|
||||
/client/proc/cmd_admin_dress,
|
||||
/client/proc/cmd_admin_gib_self,
|
||||
/client/proc/drop_bomb,
|
||||
/client/proc/drop_emp,
|
||||
|
||||
@@ -625,486 +625,6 @@ Pressure: [env.return_pressure()]"}
|
||||
for(var/areatype in areas_without_camera)
|
||||
to_chat(world, "* [areatype]")
|
||||
|
||||
/client/proc/cmd_admin_dress(var/mob/living/carbon/human/M in mob_list)
|
||||
set category = "Fun"
|
||||
set name = "Select equipment"
|
||||
|
||||
if(!check_rights(R_SPAWN))
|
||||
return
|
||||
|
||||
if(!ishuman(M))
|
||||
alert("Invalid mob")
|
||||
return
|
||||
|
||||
var/list/dresspacks = list(
|
||||
"strip",
|
||||
"Engineer RIG",
|
||||
"CE RIG",
|
||||
"Mining RIG",
|
||||
"Syndi RIG",
|
||||
"Wizard RIG",
|
||||
"Medical RIG",
|
||||
"Atmos RIG",
|
||||
"standard space gear",
|
||||
"tournament standard red",
|
||||
"tournament standard green",
|
||||
"tournament gangster",
|
||||
"tournament chef",
|
||||
"tournament janitor",
|
||||
"pirate",
|
||||
"space pirate",
|
||||
"soviet admiral",
|
||||
"tunnel clown",
|
||||
"masked killer",
|
||||
"assassin",
|
||||
"death commando",
|
||||
"syndicate commando",
|
||||
"special ops officer",
|
||||
"blue wizard",
|
||||
"red wizard",
|
||||
"marisa wizard",
|
||||
"emergency response team",
|
||||
"nanotrasen representative",
|
||||
"nanotrasen officer",
|
||||
"nanotrasen captain",
|
||||
"nanotrasen supreme commander",
|
||||
"Bomberman",
|
||||
"Bomberman(arena)",
|
||||
)
|
||||
|
||||
var/dostrip = input("Do you want to strip [M] before equipping them? (0=no, 1=yes)", "STRIPTEASE") as null|anything in list(0,1)
|
||||
if(isnull(dostrip))
|
||||
return
|
||||
var/dresscode = input("Select dress for [M]", "Robust quick dress shop") as null|anything in dresspacks
|
||||
if (isnull(dresscode))
|
||||
return
|
||||
feedback_add_details("admin_verb","SEQ") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
if(dostrip)
|
||||
for (var/obj/item/I in M)
|
||||
if (istype(I, /obj/item/weapon/implant))
|
||||
continue
|
||||
qdel(I)
|
||||
switch(dresscode)
|
||||
if ("strip")
|
||||
//do nothing
|
||||
if ("standard space gear")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
||||
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/grey(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space(M), slot_head)
|
||||
var /obj/item/weapon/tank/jetpack/J = new /obj/item/weapon/tank/jetpack/oxygen(M)
|
||||
M.equip_to_slot_or_del(J, slot_back)
|
||||
J.toggle()
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask)
|
||||
J.Topic(null, list("stat" = 1))
|
||||
if ("Engineer RIG","CE RIG","Mining RIG","Syndi RIG","Wizard RIG","Medical RIG","Atmos RIG")
|
||||
if(dresscode=="Engineer RIG")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig(M), slot_head)
|
||||
else if(dresscode=="CE RIG")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/elite(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/elite(M), slot_head)
|
||||
else if(dresscode=="Mining RIG")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/mining(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/mining(M), slot_head)
|
||||
else if(dresscode=="Syndi RIG")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/syndi(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/syndi(M), slot_head)
|
||||
else if(dresscode=="Wizard RIG")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/wizard(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/wizard(M), slot_head)
|
||||
else if(dresscode=="Medical RIG")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/medical(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/medical(M), slot_head)
|
||||
else if(dresscode=="Atmos RIG")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/rig/atmos(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/rig/atmos(M), slot_head)
|
||||
var /obj/item/weapon/tank/jetpack/J = new /obj/item/weapon/tank/jetpack/oxygen(M)
|
||||
M.equip_to_slot_or_del(J, slot_back)
|
||||
J.toggle()
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/breath(M), slot_wear_mask)
|
||||
J.Topic(null, list("stat" = 1))
|
||||
|
||||
if ("tournament standard red","tournament standard green") //we think stunning weapon is too overpowered to use it on tournaments. --rastaf0
|
||||
if (dresscode=="tournament standard red")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/red(M), slot_w_uniform)
|
||||
else
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/color/green(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
||||
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/vest(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/thunderdome(M), slot_head)
|
||||
|
||||
M.put_in_hands(new /obj/item/weapon/gun/energy/pulse_rifle/destroyer(M))
|
||||
M.put_in_hands(new /obj/item/weapon/kitchen/utensil/knife/large(M))
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/grenade/smokebomb(M), slot_r_store)
|
||||
|
||||
|
||||
if ("tournament gangster") //gangster are supposed to fight each other. --rastaf0
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/det(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
||||
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/storage/det_suit(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/det_hat(M), slot_head)
|
||||
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/cloaking_device(M), slot_r_store)
|
||||
|
||||
M.put_in_hands(new /obj/item/weapon/gun/projectile(M))
|
||||
M.equip_to_slot_or_del(new /obj/item/ammo_storage/box/a357(M), slot_l_store)
|
||||
|
||||
if ("tournament chef") //Steven Seagal FTW
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/chef(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/chef(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/chefhat(M), slot_head)
|
||||
|
||||
M.put_in_hands(new /obj/item/weapon/kitchen/rollingpin(M))
|
||||
M.put_in_hands(new /obj/item/weapon/kitchen/utensil/knife/large(M))
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/utensil/knife/large(M), slot_r_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/utensil/knife/large(M), slot_s_store)
|
||||
|
||||
if ("tournament janitor")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/janitor(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
||||
var/obj/item/weapon/storage/backpack/backpack = new(M)
|
||||
for(var/obj/item/I in backpack)
|
||||
qdel(I)
|
||||
M.equip_to_slot_or_del(backpack, slot_back)
|
||||
|
||||
M.put_in_hands(new /obj/item/weapon/mop(M))
|
||||
var/obj/item/weapon/reagent_containers/glass/bucket/bucket = new(M)
|
||||
bucket.reagents.add_reagent(WATER, 70)
|
||||
M.put_in_hands(bucket)
|
||||
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), slot_r_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/grenade/chem_grenade/cleaner(M), slot_l_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack)
|
||||
M.equip_to_slot_or_del(new /obj/item/stack/tile/plasteel(M), slot_in_backpack)
|
||||
|
||||
if ("pirate")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/bandana(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses)
|
||||
M.put_in_hands(new /obj/item/weapon/melee/energy/sword/pirate(M))
|
||||
|
||||
if ("space pirate")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/pirate(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/brown(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/pirate(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/pirate(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/eyepatch(M), slot_glasses)
|
||||
|
||||
M.put_in_hands(new /obj/item/weapon/melee/energy/sword/pirate(M))
|
||||
|
||||
if ("soviet soldier")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/soviet(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/ushanka(M), slot_head)
|
||||
|
||||
if("tunnel clown")//Tunnel clowns rule!
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/clown(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/clown_shoes(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/gas/clown_hat(M), slot_wear_mask)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/chaplain_hood(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/chaplain_hoodie(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/reagent_containers/food/snacks/grown/banana(M), slot_l_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/bikehorn(M), slot_r_store)
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.assignment = "Tunnel Clown!"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
var/obj/item/weapon/fire_axe = new(M)
|
||||
M.put_in_hands(fire_axe)
|
||||
|
||||
if("masked killer")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/overalls(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/white(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/latex(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/surgical(M), slot_wear_mask)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/welding(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/monocle(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/apron(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/kitchen/utensil/knife/large(M), slot_l_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/scalpel(M), slot_r_store)
|
||||
|
||||
var/obj/item/weapon/fire_axe = new(M)
|
||||
M.put_in_hands(fire_axe)
|
||||
|
||||
for(var/obj/item/carried_item in M.contents)
|
||||
if(!istype(carried_item, /obj/item/weapon/implant))//If it's not an implant.
|
||||
carried_item.add_blood(M)//Oh yes, there will be blood...
|
||||
|
||||
if("assassin")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/suit_jacket(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/black(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/black(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wcoat(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/melee/energy/sword(M), slot_l_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/cloaking_device(M), slot_r_store)
|
||||
|
||||
var/obj/item/weapon/storage/secure/briefcase/sec_briefcase = new(M)
|
||||
for(var/obj/item/briefcase_item in sec_briefcase)
|
||||
qdel(briefcase_item)
|
||||
for(var/i=3, i>0, i--)
|
||||
sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000
|
||||
sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow
|
||||
sec_briefcase.contents += new /obj/item/weapon/gun/projectile/mateba
|
||||
sec_briefcase.contents += new /obj/item/ammo_storage/box/a357
|
||||
sec_briefcase.contents += new /obj/item/weapon/plastique
|
||||
M.put_in_hands(sec_briefcase)
|
||||
|
||||
var/obj/item/device/pda/heads/pda = new(M)
|
||||
pda.owner = M.real_name
|
||||
pda.ownjob = "Reaper"
|
||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
||||
|
||||
M.equip_to_slot_or_del(pda, slot_belt)
|
||||
|
||||
var/obj/item/weapon/card/id/syndicate/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.assignment = "Reaper"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
if("death commando")//Was looking to add this for a while.
|
||||
M.equip_death_commando()
|
||||
|
||||
if("syndicate commando")
|
||||
M.equip_syndicate_commando()
|
||||
|
||||
if("nanotrasen representative")
|
||||
M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/representative(M), slot_w_uniform)
|
||||
M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes)
|
||||
M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
||||
M.equip_if_possible(new /obj/item/device/radio/headset/heads/hop(M), slot_ears)
|
||||
|
||||
var/obj/item/device/pda/heads/pda = new(M)
|
||||
pda.owner = M.real_name
|
||||
pda.ownjob = "Nanotrasen Navy Representative"
|
||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
||||
|
||||
M.equip_if_possible(pda, slot_r_store)
|
||||
M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store)
|
||||
M.equip_if_possible(new /obj/item/weapon/clipboard(M), slot_belt)
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.item_state = "id_inv"
|
||||
W.access = get_all_accesses()
|
||||
W.access += list("VIP Guest","Custodian","Thunderdome Overseer","Intel Officer","Medical Officer","Death Commando","Research Officer")
|
||||
W.assignment = "Nanotrasen Navy Representative"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_if_possible(W, slot_wear_id)
|
||||
|
||||
if("nanotrasen officer")
|
||||
M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/officer(M), slot_w_uniform)
|
||||
M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes)
|
||||
M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
||||
M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), slot_ears)
|
||||
M.equip_if_possible(new /obj/item/clothing/head/beret/centcom/officer(M), slot_head)
|
||||
|
||||
var/obj/item/device/pda/heads/pda = new(M)
|
||||
pda.owner = M.real_name
|
||||
pda.ownjob = "Nanotrasen Navy Officer"
|
||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
||||
|
||||
M.equip_if_possible(pda, slot_r_store)
|
||||
M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store)
|
||||
M.equip_if_possible(new /obj/item/weapon/gun/energy(M), slot_belt)
|
||||
|
||||
var/obj/item/weapon/card/id/centcom/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Nanotrasen Navy Officer"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_if_possible(W, slot_wear_id)
|
||||
|
||||
if("nanotrasen captain")
|
||||
M.equip_if_possible(new /obj/item/clothing/under/rank/centcom/captain(M), slot_w_uniform)
|
||||
M.equip_if_possible(new /obj/item/clothing/shoes/centcom(M), slot_shoes)
|
||||
M.equip_if_possible(new /obj/item/clothing/gloves/white(M), slot_gloves)
|
||||
M.equip_if_possible(new /obj/item/device/radio/headset/heads/captain(M), slot_ears)
|
||||
M.equip_if_possible(new /obj/item/clothing/head/beret/centcom/captain(M), slot_head)
|
||||
|
||||
var/obj/item/device/pda/heads/pda = new(M)
|
||||
pda.owner = M.real_name
|
||||
pda.ownjob = "Nanotrasen Navy Captain"
|
||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
||||
|
||||
M.equip_if_possible(pda, slot_r_store)
|
||||
M.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(M), slot_l_store)
|
||||
M.equip_if_possible(new /obj/item/weapon/gun/energy(M), slot_belt)
|
||||
|
||||
var/obj/item/weapon/card/id/centcom/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Nanotrasen Navy Captain"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_if_possible(W, slot_wear_id)
|
||||
|
||||
if("nanotrasen supreme commander")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/rank/centcom/captain(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/centcom(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/centcom(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/centhat(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/centcomm(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/sunglasses(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/laser/captain(M), slot_belt)
|
||||
|
||||
var/obj/item/device/pda/heads/pda = new(M)
|
||||
pda.owner = M.real_name
|
||||
pda.ownjob = "Nanotrasen Supreme Commander"
|
||||
pda.name = "PDA-[M.real_name] ([pda.ownjob])"
|
||||
|
||||
M.equip_to_slot_or_del(pda, slot_r_store)
|
||||
|
||||
var/obj/item/weapon/card/id/admin/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.access = get_all_accesses()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Nanotrasen Supreme Commander"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
if("emergency response team")
|
||||
M.equip_response_team()
|
||||
|
||||
if("special ops officer")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/syndicate/combat(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/armor/swat/officer(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/mask/cigarette/cigar/havana(M), slot_wear_mask)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/beret/centcom(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/energy/pulse_rifle/M1911(M), slot_belt)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/lighter/zippo(M), slot_r_store)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
|
||||
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.access = get_all_accesses()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Special Operations Officer"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
|
||||
if("blue wizard")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/lightpurple(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store)
|
||||
M.put_in_hands(new /obj/item/weapon/spellbook(M))
|
||||
M.put_in_hands(new /obj/item/weapon/staff(M))
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
|
||||
|
||||
if("red wizard")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/lightpurple(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/red(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/red(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store)
|
||||
M.put_in_hands(new /obj/item/weapon/spellbook(M))
|
||||
M.put_in_hands(new /obj/item/weapon/staff(M))
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
|
||||
|
||||
if("marisa wizard")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/lightpurple(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/wizrobe/marisa(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/sandal/marisa(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/wizard/marisa(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/teleportation_scroll(M), slot_r_store)
|
||||
M.put_in_hands(new /obj/item/weapon/spellbook(M))
|
||||
M.put_in_hands(new /obj/item/weapon/staff(M))
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack(M), slot_back)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/box(M), slot_in_backpack)
|
||||
if("soviet admiral")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/hgpiratecap(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/combat(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(M), slot_ears)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/glasses/thermal/eyepatch(M), slot_glasses)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/hgpirate(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/storage/backpack/satchel(M), slot_back)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/gun/projectile/mateba(M), slot_belt)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/soviet(M), slot_w_uniform)
|
||||
var/obj/item/weapon/card/id/W = new(M)
|
||||
W.name = "[M.real_name]'s ID Card"
|
||||
W.icon_state = "centcom"
|
||||
W.access = get_all_accesses()
|
||||
W.access += get_all_centcom_access()
|
||||
W.assignment = "Admiral"
|
||||
W.registered_name = M.real_name
|
||||
M.equip_to_slot_or_del(W, slot_wear_id)
|
||||
if("Bomberman")
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/darkblue(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/purple(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/bomberman(M), slot_head)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/suit/space/bomberman(M), slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/bomberman/(M), slot_s_store)
|
||||
if("Bomberman(arena)") //they have a random color, cannot remove their clothes, and their initial speed is slightly lowered by their suit.
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/under/darkblue(M), slot_w_uniform)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/shoes/purple(M), slot_shoes)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/head/helmet/space/bomberman(M), slot_head)
|
||||
var/obj/item/clothing/suit/space/bomberman/bombsuit = new /obj/item/clothing/suit/space/bomberman(M)
|
||||
M.equip_to_slot_or_del(bombsuit, slot_wear_suit)
|
||||
M.equip_to_slot_or_del(new /obj/item/clothing/gloves/purple(M), slot_gloves)
|
||||
M.equip_to_slot_or_del(new /obj/item/weapon/bomberman/(M), slot_s_store)
|
||||
bombsuit.slowdown = HARDSUIT_SLOWDOWN_LOW
|
||||
var/list/randomhexes = list(
|
||||
"7",
|
||||
"8",
|
||||
"9",
|
||||
"a",
|
||||
"b",
|
||||
"c",
|
||||
"d",
|
||||
"e",
|
||||
"f",
|
||||
)
|
||||
M.color = "#[pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)][pick(randomhexes)]"
|
||||
for(var/obj/item/clothing/C in M)
|
||||
C.canremove = 0
|
||||
M.name = "Bomberman #[rand(1,999)]"
|
||||
|
||||
M.regenerate_icons()
|
||||
|
||||
log_admin("[key_name(usr)] changed the equipment of [key_name(M)] to [dresscode].")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] changed the equipment of [key_name_admin(M)] to [dresscode]..</span>", 1)
|
||||
return
|
||||
|
||||
/client/proc/startSinglo()
|
||||
set category = "Debug"
|
||||
set name = "Start Singularity"
|
||||
|
||||
@@ -1075,3 +1075,46 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
usr << ftp(F)
|
||||
|
||||
feedback_add_details("admin_verb", "SCO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
/client/proc/cmd_admin_equip_loadout(mob/M as mob in mob_list)
|
||||
set category = "Fun"
|
||||
set name = "Equip Loadout"
|
||||
|
||||
if(!holder)
|
||||
to_chat(src, "Only administrators may use this command.")
|
||||
return
|
||||
if(!check_rights(R_SPAWN))
|
||||
to_chat(src, "You do not have the required permissions to use this command.")
|
||||
return
|
||||
if(!mob)
|
||||
return
|
||||
var/list/dropped_items
|
||||
var/delete_items
|
||||
var/strip_items = input(usr,"Do you want to strip \the [M]'s current equipment?","Equip Loadout","") as null|anything in list("Yes","No")
|
||||
if(!strip_items)
|
||||
return
|
||||
if(strip_items == "Yes")
|
||||
delete_items = input(usr,"Delete stripped items?","Equip Loadout","") as null|anything in list("Yes","No")
|
||||
if(!delete_items)
|
||||
return
|
||||
var/list/loadouts = list() + "USE ITEMS ON MY TURF" + (typesof(/obj/abstract/loadout) - /obj/abstract/loadout)
|
||||
var/loadout_type = input(usr,"Loadout Type","Equip Loadout","") as null|anything in loadouts
|
||||
if(!loadout_type)
|
||||
return
|
||||
if(strip_items == "Yes")
|
||||
dropped_items = M.unequip_everything()
|
||||
if(delete_items == "Yes")
|
||||
for(var/atom/A in dropped_items)
|
||||
qdel(A)
|
||||
if(loadout_type == "USE ITEMS ON MY TURF")
|
||||
M.equip_loadout(null, FALSE)
|
||||
else
|
||||
if(!ispath(loadout_type))
|
||||
alert("ERROR: No such loadout type found.")
|
||||
return
|
||||
M.equip_loadout(loadout_type, FALSE)
|
||||
|
||||
log_admin("[key_name(usr)] has equipped a [loadout_type ? "loadout of type [loadout_type]" : "custom loadout"] to [key_name(M)].")
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] has equipped a [loadout_type ? "loadout of type [loadout_type]" : "custom loadout"] to [key_name(M)].</span>", 1)
|
||||
|
||||
feedback_add_details("admin_verb","ELO") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
/obj/item/complete/proc/spawn_objects()
|
||||
return
|
||||
|
||||
/obj/item/complete/New()
|
||||
..()
|
||||
spawn_objects()
|
||||
qdel(src)
|
||||
|
||||
|
||||
|
||||
|
||||
/obj/item/complete/rig/wizard/spawn_objects()
|
||||
new /obj/item/clothing/head/helmet/space/rig/wizard(loc)
|
||||
new /obj/item/clothing/suit/space/rig/wizard(loc)
|
||||
new /obj/item/clothing/gloves/purple(loc)
|
||||
new /obj/item/clothing/shoes/sandal(loc)
|
||||
|
||||
/obj/item/complete/rig/nazi/spawn_objects()
|
||||
new /obj/item/clothing/head/helmet/space/rig/nazi(loc)
|
||||
new /obj/item/clothing/suit/space/rig/nazi(loc)
|
||||
|
||||
/obj/item/complete/rig/soviet/spawn_objects()
|
||||
new /obj/item/clothing/head/helmet/space/rig/soviet(loc)
|
||||
new /obj/item/clothing/suit/space/rig/soviet(loc)
|
||||
|
||||
/obj/item/complete/outfit/dredd/spawn_objects()
|
||||
new /obj/item/clothing/under/darkred(loc)
|
||||
new /obj/item/clothing/suit/armor/xcomsquaddie/dredd(loc)
|
||||
new /obj/item/clothing/glasses/hud/security(loc)
|
||||
new /obj/item/clothing/mask/gas/swat(loc)
|
||||
new /obj/item/clothing/head/helmet/dredd(loc)
|
||||
new /obj/item/clothing/gloves/combat(loc)
|
||||
new /obj/item/clothing/shoes/combat(loc)
|
||||
new /obj/item/weapon/storage/belt/security(loc)
|
||||
new /obj/item/weapon/gun/lawgiver(loc)
|
||||
@@ -24,6 +24,10 @@
|
||||
..()
|
||||
attach_accessory(new/obj/item/clothing/accessory/holomap_chip/operative(src))
|
||||
|
||||
/obj/item/clothing/under/syndicate/commando/New()
|
||||
..()
|
||||
attach_accessory(new/obj/item/clothing/accessory/holomap_chip/elite(src))
|
||||
|
||||
/obj/item/clothing/under/syndicate/tacticool
|
||||
name = "\improper Tacticool turtleneck"
|
||||
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."
|
||||
|
||||
@@ -1087,8 +1087,8 @@
|
||||
/obj/item/clothing/head/helmet/tactical/HoS/dermal,
|
||||
/obj/item/clothing/under/chameleon,
|
||||
/obj/item/clothing/gloves/anchor_arms,
|
||||
/obj/item/complete/rig/soviet,
|
||||
/obj/item/complete/rig/nazi,
|
||||
/obj/abstract/loadout/soviet_rigsuit,
|
||||
/obj/abstract/loadout/nazi_rigsuit,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/superbiteburger,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/roburger,
|
||||
/obj/item/weapon/reagent_containers/food/snacks/mommispaghetti,
|
||||
@@ -1165,9 +1165,9 @@
|
||||
/obj/item/clothing/head/helmet/tactical/HoS/dermal,
|
||||
/obj/item/clothing/under/chameleon,
|
||||
/obj/item/clothing/gloves/anchor_arms,
|
||||
/obj/item/complete/rig/soviet,
|
||||
/obj/item/complete/rig/nazi,
|
||||
/obj/item/complete/outfit/dredd
|
||||
/obj/abstract/loadout/soviet_rigsuit,
|
||||
/obj/abstract/loadout/nazi_rigsuit,
|
||||
/obj/abstract/loadout/dredd_gear
|
||||
)
|
||||
|
||||
/obj/abstract/map/spawner/safe/medal
|
||||
|
||||
@@ -657,6 +657,58 @@ var/list/slot_equipment_priority = list( \
|
||||
break
|
||||
return openslot
|
||||
|
||||
/mob/proc/unequip_everything()
|
||||
var/list/unequipped_items = list()
|
||||
for(var/slot in slot_equipment_priority)
|
||||
var/obj/item/I = get_item_by_slot(slot)
|
||||
if(I)
|
||||
unequipped_items.Add(I)
|
||||
u_equip(I)
|
||||
return unequipped_items
|
||||
|
||||
/mob/proc/recursive_list_equip(list/L) //Used for equipping a list of items to a mob without worrying about the order (like needing to put a jumpsuit before a belt)
|
||||
if(!L || !L.len)
|
||||
return
|
||||
|
||||
for(var/obj/item/O in L)
|
||||
O.forceMove(get_turf(src)) //At the very least, all the stuff should be on our tile
|
||||
|
||||
var/has_succeeded_once = TRUE
|
||||
while(has_succeeded_once)
|
||||
has_succeeded_once = FALSE
|
||||
for(var/obj/item/I in L)
|
||||
if(equip_to_appropriate_slot(I))
|
||||
has_succeeded_once = TRUE
|
||||
L.Remove(I)
|
||||
if(L.len)
|
||||
var/obj/item/weapon/storage/B = back
|
||||
for(var/obj/item/I in L)
|
||||
if(istype(B))
|
||||
B.handle_item_insertion(I,1)
|
||||
regenerate_icons()
|
||||
|
||||
/mob/proc/equip_loadout(var/type, var/unequip_current = TRUE) //Equips a loadout of the given type or, if no type is given, attempts to make a loadout from all the items on the proc caller's turf and equip that
|
||||
if(type)
|
||||
if(ispath(type, /obj/abstract/loadout))
|
||||
new type(get_turf(src), src, unequip_current)
|
||||
else
|
||||
var/turf/T = get_turf(usr)
|
||||
if(T)
|
||||
if(unequip_current)
|
||||
unequip_everything() //unequip everything before equipping loadout
|
||||
var/list/to_equip = list()
|
||||
for(var/obj/item/I in T.contents)
|
||||
to_equip.Add(new I.type(get_turf(src)))
|
||||
recursive_list_equip(to_equip)
|
||||
var/loadout_list = ""
|
||||
for(var/obj/item/O in to_equip)
|
||||
if(O == to_equip[to_equip.len])
|
||||
loadout_list += "[O.type]"
|
||||
else
|
||||
loadout_list += "[O.type], "
|
||||
log_admin("[key_name(src)] has been equipped with a custom loadout consisting of [loadout_list].")
|
||||
|
||||
|
||||
/obj/item/proc/mob_check_equip(M as mob, slot, disable_warning = 0)
|
||||
if(!M)
|
||||
return 0
|
||||
|
||||
@@ -365,6 +365,10 @@
|
||||
user.drop_from_inventory(src)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/bucket/water_filled/New()
|
||||
..()
|
||||
reagents.add_reagent(WATER, 150)
|
||||
|
||||
/*
|
||||
/obj/item/weapon/reagent_containers/glass/blender_jug
|
||||
name = "Blender Jug"
|
||||
|
||||
@@ -588,6 +588,7 @@
|
||||
#include "code\game\objects\explosion.dm"
|
||||
#include "code\game\objects\explosion_recursive.dm"
|
||||
#include "code\game\objects\items.dm"
|
||||
#include "code\game\objects\loadouts.dm"
|
||||
#include "code\game\objects\objs.dm"
|
||||
#include "code\game\objects\structures.dm"
|
||||
#include "code\game\objects\weapons.dm"
|
||||
@@ -1130,7 +1131,6 @@
|
||||
#include "code\modules\clothing\suits\alien.dm"
|
||||
#include "code\modules\clothing\suits\armor.dm"
|
||||
#include "code\modules\clothing\suits\bio.dm"
|
||||
#include "code\modules\clothing\suits\complete_suits.dm"
|
||||
#include "code\modules\clothing\suits\jobs.dm"
|
||||
#include "code\modules\clothing\suits\labcoat.dm"
|
||||
#include "code\modules\clothing\suits\miscellaneous.dm"
|
||||
|
||||
Reference in New Issue
Block a user