* 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:
Shadowmech88
2017-06-04 11:12:41 -05:00
committed by Intigracy
parent 7dce43cc51
commit 4036c6e0fd
16 changed files with 765 additions and 526 deletions

View File

@@ -285,6 +285,26 @@ var/global/list/obj/item/device/pda/PDAs = list()
default_cartridge = /obj/item/weapon/cartridge/head default_cartridge = /obj/item/weapon/cartridge/head
icon_state = "pda-h" 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 /obj/item/device/pda/heads/hop
name = "Head of Personnel PDA" name = "Head of Personnel PDA"
default_cartridge = /obj/item/weapon/cartridge/hop default_cartridge = /obj/item/weapon/cartridge/hop

View File

@@ -37,6 +37,10 @@
syndie = 1 syndie = 1
recalculateChannels() recalculateChannels()
/obj/item/device/radio/headset/syndicate/commando/New()
..()
set_frequency(SYND_FREQ)
/obj/item/device/radio/headset/binary /obj/item/device/radio/headset/binary
origin_tech = Tc_SYNDICATE + "=3" origin_tech = Tc_SYNDICATE + "=3"
/obj/item/device/radio/headset/binary/New() /obj/item/device/radio/headset/binary/New()

View File

@@ -692,3 +692,105 @@
icon_state = "trader" icon_state = "trader"
access = list(access_trade) access = list(access_trade)
base_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()

View File

@@ -224,6 +224,15 @@
return*/ 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 // Secure Safe
// ----------------------------- // -----------------------------

View 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)]"

View File

@@ -206,7 +206,7 @@ obj/structure/safe/ex_act(severity)
/obj/item/weapon/gun/energy/staff, /obj/item/weapon/gun/energy/staff,
/obj/item/weapon/gun/energy/staff/animate, /obj/item/weapon/gun/energy/staff/animate,
/obj/item/weapon/gun/energy/staff/focus, /obj/item/weapon/gun/energy/staff/focus,
/obj/item/complete/rig/wizard /obj/abstract/loadout/gemsuit
) )
/obj/structure/safe/floor/wizard/New() /obj/structure/safe/floor/wizard/New()

View File

@@ -120,11 +120,11 @@ var/list/admin_verbs_fun = list(
var/list/admin_verbs_spawn = list( var/list/admin_verbs_spawn = list(
/datum/admins/proc/spawn_atom, // Allows us to spawn instances /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/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/respawn_character, //Allows us to re-spawn someone
/client/proc/debug_reagents, //Allows us to spawn reagents in mobs/containers /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_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( var/list/admin_verbs_server = list(
/client/proc/Set_Holiday, /client/proc/Set_Holiday,
@@ -228,7 +228,6 @@ var/list/admin_verbs_hideable = list(
/client/proc/play_local_sound, /client/proc/play_local_sound,
/client/proc/play_sound, /client/proc/play_sound,
/client/proc/object_talk, /client/proc/object_talk,
/client/proc/cmd_admin_dress,
/client/proc/cmd_admin_gib_self, /client/proc/cmd_admin_gib_self,
/client/proc/drop_bomb, /client/proc/drop_bomb,
/client/proc/drop_emp, /client/proc/drop_emp,

View File

@@ -625,486 +625,6 @@ Pressure: [env.return_pressure()]"}
for(var/areatype in areas_without_camera) for(var/areatype in areas_without_camera)
to_chat(world, "* [areatype]") 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() /client/proc/startSinglo()
set category = "Debug" set category = "Debug"
set name = "Start Singularity" set name = "Start Singularity"

View File

@@ -1075,3 +1075,46 @@ Traitors and the like can also be revived with the previous role mostly intact.
usr << ftp(F) 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! 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!

View File

@@ -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)

View File

@@ -24,6 +24,10 @@
..() ..()
attach_accessory(new/obj/item/clothing/accessory/holomap_chip/operative(src)) 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 /obj/item/clothing/under/syndicate/tacticool
name = "\improper Tacticool turtleneck" name = "\improper Tacticool turtleneck"
desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-." desc = "Just looking at it makes you want to buy an SKS, go into the woods, and -operate-."

View File

@@ -1087,8 +1087,8 @@
/obj/item/clothing/head/helmet/tactical/HoS/dermal, /obj/item/clothing/head/helmet/tactical/HoS/dermal,
/obj/item/clothing/under/chameleon, /obj/item/clothing/under/chameleon,
/obj/item/clothing/gloves/anchor_arms, /obj/item/clothing/gloves/anchor_arms,
/obj/item/complete/rig/soviet, /obj/abstract/loadout/soviet_rigsuit,
/obj/item/complete/rig/nazi, /obj/abstract/loadout/nazi_rigsuit,
/obj/item/weapon/reagent_containers/food/snacks/superbiteburger, /obj/item/weapon/reagent_containers/food/snacks/superbiteburger,
/obj/item/weapon/reagent_containers/food/snacks/roburger, /obj/item/weapon/reagent_containers/food/snacks/roburger,
/obj/item/weapon/reagent_containers/food/snacks/mommispaghetti, /obj/item/weapon/reagent_containers/food/snacks/mommispaghetti,
@@ -1165,9 +1165,9 @@
/obj/item/clothing/head/helmet/tactical/HoS/dermal, /obj/item/clothing/head/helmet/tactical/HoS/dermal,
/obj/item/clothing/under/chameleon, /obj/item/clothing/under/chameleon,
/obj/item/clothing/gloves/anchor_arms, /obj/item/clothing/gloves/anchor_arms,
/obj/item/complete/rig/soviet, /obj/abstract/loadout/soviet_rigsuit,
/obj/item/complete/rig/nazi, /obj/abstract/loadout/nazi_rigsuit,
/obj/item/complete/outfit/dredd /obj/abstract/loadout/dredd_gear
) )
/obj/abstract/map/spawner/safe/medal /obj/abstract/map/spawner/safe/medal

View File

@@ -657,6 +657,58 @@ var/list/slot_equipment_priority = list( \
break break
return openslot 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) /obj/item/proc/mob_check_equip(M as mob, slot, disable_warning = 0)
if(!M) if(!M)
return 0 return 0

View File

@@ -365,6 +365,10 @@
user.drop_from_inventory(src) user.drop_from_inventory(src)
qdel(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 /obj/item/weapon/reagent_containers/glass/blender_jug
name = "Blender Jug" name = "Blender Jug"

View File

@@ -588,6 +588,7 @@
#include "code\game\objects\explosion.dm" #include "code\game\objects\explosion.dm"
#include "code\game\objects\explosion_recursive.dm" #include "code\game\objects\explosion_recursive.dm"
#include "code\game\objects\items.dm" #include "code\game\objects\items.dm"
#include "code\game\objects\loadouts.dm"
#include "code\game\objects\objs.dm" #include "code\game\objects\objs.dm"
#include "code\game\objects\structures.dm" #include "code\game\objects\structures.dm"
#include "code\game\objects\weapons.dm" #include "code\game\objects\weapons.dm"
@@ -1130,7 +1131,6 @@
#include "code\modules\clothing\suits\alien.dm" #include "code\modules\clothing\suits\alien.dm"
#include "code\modules\clothing\suits\armor.dm" #include "code\modules\clothing\suits\armor.dm"
#include "code\modules\clothing\suits\bio.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\jobs.dm"
#include "code\modules\clothing\suits\labcoat.dm" #include "code\modules\clothing\suits\labcoat.dm"
#include "code\modules\clothing\suits\miscellaneous.dm" #include "code\modules\clothing\suits\miscellaneous.dm"