Files
Aurora.3/code/game/objects/random/weapon.dm
T
Casper3667 f09bcd6cdd Replaces security disruptors with ballistics and removes all disruptors (#21987)
Security officers and the warden each get a .45 pistol loaded with
rubbers, and a spare rubber mag in their lockers.
The investigator get a new .45 revolver loaded with rubbers, based on
the konyang revolver, and a speedloader, also with rubbers.

The armory has had .45 speedloaders added to it, but is otherwise
untouched.

Also the autolathe gets to print .45 speedloaders now for the
investigator gun.

Practice ammo has been added to the autolathe.

The Elyran ERT had their disruptors replaced with plasma pistols.
Other non-Horizon disruptors were replaced with lethal .45.
Horizon disruptors were replaced with rubber .45.
2026-03-25 21:19:47 +00:00

246 lines
7.9 KiB
Plaintext

/obj/random/energy
name = "random energy weapon"
desc = "This is a random energy weapon."
icon_state = "energy_gun"
problist = list(
/obj/item/gun/energy/rifle/laser = 2,
/obj/item/gun/energy/gun = 2,
/obj/item/gun/energy/stunrevolver = 1
)
/obj/random/projectile
name = "random projectile weapon"
desc = "This is a random projectile weapon."
icon_state = "rifle"
problist = list(
/obj/item/gun/projectile/shotgun/pump = 3,
/obj/item/gun/projectile/automatic/wt550 = 2,
/obj/item/gun/projectile/shotgun/pump/combat = 1
)
/obj/random/handgun
name = "random handgun"
desc = "This is a random handgun."
icon_state = "pistol"
problist = list(
/obj/item/gun/projectile/sec = 3,
/obj/item/gun/projectile/sec/wood = 1
)
/obj/random/ammo
name = "random ammunition"
desc = "This is some random ammunition."
icon_state = "needsprite"
problist = list(
/obj/item/storage/box/shells/beanbags = 6,
/obj/item/storage/box/shells/slugs = 2,
/obj/item/storage/box/shells/buckshot = 4,
/obj/item/storage/box/shells/stunshells = 1,
/obj/item/ammo_magazine/c45m = 2,
/obj/item/ammo_magazine/c45m/rubber = 4,
/obj/item/ammo_magazine/c45m/flash = 4,
/obj/item/ammo_magazine/mc9mmt = 2,
/obj/item/ammo_magazine/mc9mmt/rubber = 6
)
/obj/random/melee
name = "random melee weapon"
desc = "This is a random melee weapon."
icon_state = "melee"
spawnlist = list(
/obj/item/melee/telebaton,
/obj/item/melee/energy/sword,
/obj/item/melee/energy/sword/pirate,
/obj/item/melee/energy/glaive,
/obj/item/melee/chainsword,
/obj/item/melee/baton/stunrod,
/obj/item/material/harpoon,
/obj/random/sword,
/obj/item/melee/hammer,
/obj/item/melee/hammer/powered,
/obj/item/material/twohanded/fireaxe,
/obj/item/melee/classic_baton,
/obj/item/material/twohanded/pike,
/obj/item/material/twohanded/pike/halberd,
/obj/item/material/twohanded/pike/pitchfork,
/obj/item/melee/whip,
/obj/item/clothing/accessory/storage/bayonet
)
/obj/random/melee/highvalue
name = "random high value melee weapon"
desc = "This is a random high value melee weapon."
icon_state = "melee"
spawnlist = list(
/obj/item/melee/energy/sword,
/obj/item/melee/energy/glaive,
/obj/item/melee/chainsword,
/obj/item/melee/hammer,
/obj/item/melee/hammer/powered
)
/obj/random/energy_antag
name = "random energy weapon"
desc = "This is a random energy weapon."
icon_state = "energy_gun"
spawnlist = list(
/obj/item/gun/energy/retro,
/obj/item/gun/energy/xray,
/obj/item/gun/energy/gun,
/obj/item/gun/energy/pistol,
/obj/item/gun/energy/mindflayer,
/obj/item/gun/energy/vaurca/gatlinglaser,
/obj/item/gun/energy/vaurca/blaster,
/obj/item/gun/energy/crossbow/largecrossbow,
/obj/item/gun/energy/rifle,
/obj/item/gun/energy/rifle/laser,
/obj/item/gun/energy/rifle/laser/heavy,
/obj/item/gun/energy/rifle/laser/xray,
/obj/item/gun/energy/net,
/obj/item/gun/energy/laser/shotgun,
/obj/item/gun/energy/decloner,
/obj/item/gun/energy/freeze
)
/obj/random/sword
name = "random sword"
desc = "This is a random sword."
icon_state = "melee"
spawnlist = list(
/obj/item/material/sword,
/obj/item/material/sword/katana,
/obj/item/material/sword/rapier,
/obj/item/material/sword/longsword,
/obj/item/material/sword/sabre,
/obj/item/material/sword/axe,
/obj/item/material/sword/khopesh,
/obj/item/material/sword/dao,
/obj/item/material/sword/gladius
)
/obj/random/civgun
name = "random civilian handgun"
desc = "This is a random civilian gun."
icon_state = "pistol"
has_postspawn = TRUE
spawnlist = list(
/obj/item/gun/projectile/leyon,
/obj/item/gun/energy/blaster,
/obj/item/gun/energy/pistol,
/obj/item/gun/projectile/revolver/detective,
/obj/item/gun/projectile/sec/lethal,
/obj/item/gun/projectile/colt,
/obj/item/gun/projectile/pistol,
/obj/item/gun/projectile/pistol/detective,
/obj/item/gun/projectile/pistol/adhomai,
/obj/item/gun/projectile/pistol/sol,
/obj/item/gun/energy/blaster/revolver,
/obj/item/gun/projectile/revolver/lemat,
/obj/item/gun/projectile/tanto,
/obj/item/gun/projectile/automatic/x9,
/obj/item/gun/energy/retro,
/obj/item/gun/projectile/revolver/konyang/pirate
)
/obj/random/civgun/post_spawn(var/obj/item/gun/projectile/spawned)
if(istype(spawned, /obj/item/gun/energy))
return
else if(istype(spawned, /obj/item/gun/projectile))
if(spawned.magazine_type)
var/obj/item/ammo_magazine/am = spawned.magazine_type
new am(spawned.loc)
new am(spawned.loc)
else if(istype(spawned, /obj/item/gun/projectile/shotgun) && spawned.caliber == "shotgun")
if(istype(spawned.loc, /obj/item/storage/box))
spawned.loc.icon_state = "largebox"
var/obj/item/storage/box/b = new /obj/item/storage/box(spawned.loc)
for(var/i = 0; i < 8; i++)
new spawned.ammo_type(b)
else if(spawned.ammo_type)
var/list/provided_ammo = list()
for(var/i = 0; i < (spawned.max_shells * 2); i++)
provided_ammo += new spawned.ammo_type(spawned.loc)
if(provided_ammo.len)
new /obj/item/ammo_pile(spawned.loc, provided_ammo)
/obj/random/civgun/rifle
name = "random civilian longarm"
desc = "This is a random civilian long gun."
icon_state = "rifle"
has_postspawn = TRUE
spawnlist = list(
/obj/item/gun/projectile/automatic/mini_uzi,
/obj/item/gun/projectile/automatic/c20r,
/obj/item/gun/projectile/automatic/wt550/lethal,
/obj/item/gun/projectile/automatic/rifle/carbine,
/obj/item/gun/projectile/automatic/rifle/carbine/civcarbine,
/obj/item/gun/projectile/automatic/tommygun,
/obj/item/gun/projectile/shotgun/pump/rifle,
/obj/item/gun/projectile/shotgun/pump/rifle/magazine_fed/pipegun,
/obj/item/gun/projectile/shotgun/pump/rifle/obrez,
/obj/item/gun/projectile/contender,
/obj/item/gun/projectile/shotgun/pump/rifle/vintage,
/obj/item/gun/projectile/shotgun/pump/lever_action,
/obj/item/gun/projectile/gauss,
/obj/item/gun/projectile/gauss/old,
/obj/item/gun/projectile/shotgun/pump,
/obj/item/gun/projectile/shotgun/doublebarrel,
/obj/item/gun/projectile/shotgun/doublebarrel/sawn,
/obj/item/gun/projectile/shotgun/foldable,
/obj/item/gun/projectile/revolver,
/obj/item/gun/energy/blaster/carbine,
/obj/item/gun/energy/laser/shotgun,
/obj/item/gun/energy/rifle,
/obj/item/gun/energy/rifle/laser,
/obj/item/gun/energy/gun,
/obj/item/gun/custom_ka/frame04/illegal,
/obj/item/gun/projectile/automatic/lebman,
/obj/item/gun/projectile/pistol/super_heavy,
/obj/item/gun/projectile/deagle,
/obj/item/gun/custom_ka/frame01/illegal,
/obj/item/gun/projectile/automatic/rifle/konyang/pirate_rifle,
/obj/item/gun/projectile/automatic/konyang_pirate
)
/obj/random/vault_weapon
name = "random vault weapon"
desc = "This is a random vault weapon."
icon_state = "needsprite"
spawnlist = list(
/obj/item/gun/custom_ka/frameA/prebuilt = 1,
/obj/item/gun/custom_ka/frameB/prebuilt = 0.5,
/obj/item/gun/custom_ka/frameC/prebuilt = 0.25,
/obj/item/gun/custom_ka/frameD/prebuilt = 0.125,
/obj/item/gun/custom_ka/frameF/prebuilt01 = 0.03125,
/obj/item/gun/custom_ka/frameF/prebuilt02 = 0.03125,
/obj/item/gun/custom_ka/frameE/prebuilt = 0.03125,
/obj/item/gun/energy/captain/xenoarch = 0.5,
/obj/item/gun/energy/laser/xenoarch = 0.5,
/obj/item/gun/energy/laser/practice/xenoarch = 0.25,
/obj/item/gun/energy/xray/xenoarch = 0.25,
/obj/item/gun/energy/net = 1
)
/obj/random/vault_weapon/post_spawn(var/obj/item/gun/spawned)
spawned.name = "prototype [spawned.name]"
if(istype(spawned,/obj/item/gun/custom_ka/))
var/obj/item/gun/custom_ka/KA = spawned
KA.can_disassemble_barrel = FALSE
KA.can_disassemble_cell = FALSE
if(istype(spawned,/obj/item/gun/energy/))
var/obj/item/gun/energy/E = spawned
E.charge_cost *= 2
E.self_recharge = FALSE
E.reliability = 90
/obj/random/mine
name = "random deployed mine"
desc = "This will choose from a number of available mines and they will be active at start."
icon_state = "landmine"
spawnlist = list(
/obj/item/landmine/frag/deployed,
/obj/item/landmine/emp/deployed,
)