mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-18 10:33:30 +01:00
Gun Code Overhaul Phase 1: (Now with 50% less wasted code!)
- Gun code condensed to make future modifications easier. Functionality should (mostly) remain the same. - Taser guns shoot ONE WHOLE SHOT more then they do now. Yippy! - Energy Crossbow has a slightly higher shot capacity (still automatically recharges). - Guns that shoot projectiles (such as revolvers) now eject the ammo casings when they fire (this will be adjusted somewhat in phase 2). - Revolvers can either be loaded one shell at a time or all at once with an ammo box. - All guns now have a badmin var. Have fun (think shotguns). - A few admin-only guns have been removed (for now). They'll get re-added in a future update. - Shotguns no longer need to be pumped before firing (will change back in phase 2). - All gunshots fired by players are now logged in both the firer's and the target's attack_log. So if someone gets shot and it doesn't show up, it's because a turret or something shot them. Hopefully I didn't miss anything. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@1659 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -72,18 +72,6 @@
|
||||
unacidable = 1//Just to be sure.
|
||||
var/def_zone
|
||||
|
||||
/obj/beam/a_laser
|
||||
name = "a laser"
|
||||
icon = 'projectiles.dmi'
|
||||
icon_state = "laser"
|
||||
density = 1
|
||||
var/yo = null
|
||||
var/xo = null
|
||||
var/current = null
|
||||
var/life = 50.0
|
||||
anchored = 1.0
|
||||
flags = TABLEPASS
|
||||
|
||||
/obj/beam/i_beam
|
||||
name = "i beam"
|
||||
icon = 'projectiles.dmi'
|
||||
@@ -112,40 +100,6 @@
|
||||
anchored = 1.0
|
||||
unacidable = 1
|
||||
|
||||
/obj/bullet
|
||||
name = "bullet"
|
||||
icon = 'projectiles.dmi'
|
||||
icon_state = "bullet"
|
||||
density = 1
|
||||
throwforce = 0.1 //an attempt to make it possible to shoot your way through space
|
||||
unacidable = 1//Just to be sure.
|
||||
var/yo = null
|
||||
var/xo = null
|
||||
var/current = null
|
||||
anchored = 1.0
|
||||
flags = TABLEPASS
|
||||
var/def_zone
|
||||
|
||||
/obj/bullet/weakbullet
|
||||
|
||||
/obj/bullet/electrode
|
||||
name = "electrode"
|
||||
icon_state = "spark"
|
||||
|
||||
/obj/bullet/teleshot
|
||||
name = "teleshot"
|
||||
icon_state = "spark"
|
||||
var/failchance = 5
|
||||
var/obj/item/target = null
|
||||
|
||||
/obj/bullet/cbbolt
|
||||
name = "crossbow bolt"
|
||||
icon_state = "cbbolt"
|
||||
|
||||
/obj/bullet/neurodart
|
||||
name = "acid"
|
||||
icon_state = "toxin"
|
||||
|
||||
/obj/datacore
|
||||
name = "datacore"
|
||||
var/medical[] = list()
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
icon_state = "detective"
|
||||
item_state = "det_suit"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
|
||||
allowed = list(/obj/item/weapon/gun/detectiverevolver,/obj/item/weapon/gun/revolver,/obj/item/weapon/ammo/a38,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
|
||||
allowed = list(/obj/item/weapon/gun/projectile/detective,/obj/item/weapon/gun/projectile,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
|
||||
armor = list(melee = 50, bullet = 40, laser = 30, taser = 10, bomb = 20, bio = 0, rad = 0)
|
||||
|
||||
/obj/item/clothing/suit/judgerobe
|
||||
@@ -191,7 +191,7 @@
|
||||
// ARMOR
|
||||
|
||||
/obj/item/clothing/suit/armor
|
||||
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/gun/revolver,/obj/item/weapon/baton,/obj/item/weapon/handcuffs)
|
||||
allowed = list(/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/weapon/baton,/obj/item/weapon/handcuffs)
|
||||
|
||||
/obj/item/clothing/suit/armor/vest
|
||||
name = "armor"
|
||||
@@ -283,7 +283,7 @@
|
||||
icon_state = "deathsquad"
|
||||
item_state = "swat_suit"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/ammo,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
slowdown = 1
|
||||
armor = list(melee = 80, bullet = 60, laser = 50, taser = 25, bomb = 50, bio = 10, rad = 0)
|
||||
|
||||
@@ -367,7 +367,7 @@
|
||||
item_state = "space_suit_syndicate"
|
||||
desc = "Has a tag on it: Totally not property of of a hostile corporation, honest!"
|
||||
w_class = 3
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/ammo,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, taser = 15, bomb = 30, bio = 30, rad = 30)
|
||||
|
||||
@@ -393,7 +393,7 @@
|
||||
desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
|
||||
icon_state = "s-ninja"
|
||||
item_state = "s-ninja_suit"
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/ammo,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
radiation_protection = 0.75
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, taser = 15, bomb = 30, bio = 30, rad = 30)
|
||||
@@ -445,7 +445,7 @@
|
||||
icon_state = "pirate"
|
||||
item_state = "pirate"
|
||||
w_class = 3
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/weapon/ammo,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
slowdown = 0
|
||||
armor = list(melee = 60, bullet = 50, laser = 30, taser = 15, bomb = 30, bio = 30, rad = 30)
|
||||
|
||||
|
||||
@@ -124,6 +124,7 @@
|
||||
/obj/item/weapon/spacecash/c1000
|
||||
icon_state = "spacecash1000"
|
||||
|
||||
/*
|
||||
/obj/item/weapon/ammo
|
||||
name = "ammo"
|
||||
icon = 'ammo.dmi'
|
||||
@@ -207,7 +208,7 @@
|
||||
icon_state = "38-7"
|
||||
amount_left = 7.0
|
||||
m_amt = 10000
|
||||
|
||||
*/
|
||||
/obj/item/device/mass_spectrometer
|
||||
desc = "A hand-held mass spectrometer which identifies trace chemicals in a blood sample."
|
||||
name = "mass-spectrometer"
|
||||
@@ -644,7 +645,7 @@
|
||||
abstract = 1.0
|
||||
item_state = "nothing"
|
||||
w_class = 5.0
|
||||
|
||||
/*
|
||||
/obj/item/weapon/gun
|
||||
name = "gun"
|
||||
icon = 'gun.dmi'
|
||||
@@ -850,7 +851,7 @@
|
||||
force = 14.0
|
||||
m_amt = 1000
|
||||
origin_tech = "combat=2;materials=2"
|
||||
|
||||
*/
|
||||
/obj/item/weapon/hand_tele
|
||||
name = "hand tele"
|
||||
icon = 'device.dmi'
|
||||
@@ -1455,6 +1456,13 @@ Total SMES charging rate should not exceed total power generation rate, or an ov
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
|
||||
|
||||
/obj/item/weapon/cell/crap
|
||||
name = "Nanotrassen Brand Rechargable AA Battery"
|
||||
desc = "You can't top the plasma top." //TOTALLY TRADEMARK INFRINGEMENT
|
||||
origin_tech = "powerstorage=0"
|
||||
maxcharge = 500
|
||||
g_amt = 40
|
||||
|
||||
/obj/item/weapon/cell/high
|
||||
name = "high-capacity power cell"
|
||||
origin_tech = "powerstorage=2"
|
||||
|
||||
@@ -151,7 +151,7 @@ var/global/list/space_surprises = list(/obj/alien/facehugger,
|
||||
/obj/item/weapon/rcd_ammo,
|
||||
/obj/item/weapon/spacecash,
|
||||
/obj/item/weapon/cloaking_device,
|
||||
/obj/item/weapon/gun/energy/teleport_gun,
|
||||
// /obj/item/weapon/gun/energy/teleport_gun,
|
||||
/obj/item/weapon/rubber_chicken,
|
||||
/obj/item/weapon/sword/pirate
|
||||
)
|
||||
|
||||
@@ -208,7 +208,7 @@ This could be a lot better but I'm too tired atm.*/
|
||||
return
|
||||
if (targloc == curloc)
|
||||
return
|
||||
var/obj/bullet/neurodart/A = new /obj/bullet/neurodart(U.loc)
|
||||
var/obj/item/projectile/dart/A = new /obj/item/projectile/dart(U.loc)
|
||||
A.current = curloc
|
||||
A.yo = targloc.y - curloc.y
|
||||
A.xo = targloc.x - curloc.x
|
||||
|
||||
@@ -152,11 +152,9 @@
|
||||
synd_mob.equip_if_possible(new /obj/item/clothing/head/helmet/swat(synd_mob), synd_mob.slot_head)
|
||||
synd_mob.equip_if_possible(new /obj/item/weapon/card/id/syndicate(synd_mob), synd_mob.slot_wear_id)
|
||||
synd_mob.equip_if_possible(new /obj/item/weapon/storage/backpack(synd_mob), synd_mob.slot_back)
|
||||
synd_mob.equip_if_possible(new /obj/item/weapon/ammo/a357(synd_mob), synd_mob.slot_in_backpack)
|
||||
synd_mob.equip_if_possible(new /obj/item/ammo_magazine(synd_mob), synd_mob.slot_in_backpack)
|
||||
synd_mob.equip_if_possible(new /obj/item/weapon/reagent_containers/pill/cyanide(synd_mob), synd_mob.slot_in_backpack) //Because it needed to be upgraded by someone - Micro
|
||||
var/obj/item/weapon/gun/revolver/G = new /obj/item/weapon/gun/revolver(synd_mob)
|
||||
G.bullets = 7
|
||||
synd_mob.equip_if_possible(G, synd_mob.slot_belt)
|
||||
synd_mob.equip_if_possible(new /obj/item/weapon/gun/projectile(synd_mob), synd_mob.slot_belt)
|
||||
|
||||
/datum/game_mode/nuclear/check_win()
|
||||
if (src.nuke_detonated)
|
||||
|
||||
@@ -116,7 +116,7 @@ datum
|
||||
var/obj/item/steal_target
|
||||
var/target_name
|
||||
var/global/list/possible_items = list(
|
||||
"the captain's antique laser gun" = /obj/item/weapon/gun/energy/laser_gun/captain,
|
||||
"the captain's antique laser gun" = /obj/item/weapon/gun/energy/laser/captain,
|
||||
"a hand teleporter" = /obj/item/weapon/hand_tele,
|
||||
"an RCD" = /obj/item/weapon/rcd,
|
||||
"a jetpack" = /obj/item/weapon/tank/jetpack,
|
||||
|
||||
@@ -308,7 +308,7 @@
|
||||
|
||||
if (locate(/obj/item/weapon/gun/energy, M))
|
||||
for(var/obj/item/weapon/gun/energy/G in M)
|
||||
G.charges = 0
|
||||
G.power_supply.charge = 0
|
||||
G.update_icon()
|
||||
|
||||
if ((istype(M, /mob/living/carbon/human)) && (istype(M:glasses, /obj/item/clothing/glasses/thermal)))
|
||||
|
||||
@@ -455,7 +455,7 @@
|
||||
src.equip_if_possible(new /obj/item/clothing/gloves/black(src), slot_gloves)
|
||||
src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses)
|
||||
src.equip_if_possible(new /obj/item/clothing/mask/gas/emergency(src), slot_wear_mask)
|
||||
src.equip_if_possible(new /obj/item/weapon/gun/energy/taser_gun(src), slot_s_store)
|
||||
src.equip_if_possible(new /obj/item/weapon/gun/energy/taser(src), slot_s_store)
|
||||
src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/device/flash(src), slot_l_store)
|
||||
|
||||
@@ -479,7 +479,7 @@
|
||||
src.equip_if_possible(new /obj/item/weapon/storage/backpack/security (src), slot_back)
|
||||
src.equip_if_possible(new /obj/item/clothing/glasses/sunglasses(src), slot_glasses)
|
||||
src.equip_if_possible(new /obj/item/weapon/handcuffs(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/weapon/gun/energy/general(src), slot_s_store)
|
||||
src.equip_if_possible(new /obj/item/weapon/gun/energy(src), slot_s_store)
|
||||
src.equip_if_possible(new /obj/item/device/flash(src), slot_l_store)
|
||||
|
||||
if ("Head of Personnel")
|
||||
@@ -503,10 +503,10 @@
|
||||
src.equip_if_possible(new /obj/item/clothing/shoes/black(src), slot_shoes)
|
||||
src.equip_if_possible(new /obj/item/clothing/suit/armor/vest(src), slot_wear_suit)
|
||||
src.equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
|
||||
src.equip_if_possible(new /obj/item/weapon/ammo/shell/beanbag(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/weapon/ammo/shell/beanbag(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/weapon/ammo/shell/beanbag(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/weapon/ammo/shell/beanbag(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack)
|
||||
src.equip_if_possible(new /obj/item/ammo_casing/shotgun/beanbag(src), slot_in_backpack)
|
||||
|
||||
if ("Chef")
|
||||
src.equip_if_possible(new /obj/item/clothing/under/rank/chef(src), slot_w_uniform)
|
||||
|
||||
@@ -243,7 +243,7 @@ var/global/list/autolathe_recipes = list( \
|
||||
new /obj/item/weapon/circular_saw(), \
|
||||
new /obj/item/device/t_scanner(), \
|
||||
new /obj/item/weapon/reagent_containers/glass/bucket(), \
|
||||
new /obj/item/weapon/ammo/shell/blank(), \
|
||||
new /obj/item/ammo_casing/shotgun/blank(), \
|
||||
new /obj/item/device/taperecorder(), \
|
||||
new /obj/item/weapon/stock_parts/console_screen(), \
|
||||
)
|
||||
@@ -257,11 +257,11 @@ var/global/list/autolathe_recipes_hidden = list( \
|
||||
new /obj/item/weapon/weldingtool/largetank(), \
|
||||
new /obj/item/device/infra_sensor(), \
|
||||
new /obj/item/weapon/handcuffs(), \
|
||||
new /obj/item/weapon/ammo/a357(), \
|
||||
new /obj/item/weapon/ammo/shell/gauge(), \
|
||||
new /obj/item/weapon/ammo/a38(), \
|
||||
new /obj/item/weapon/ammo/shell/beanbag(), \
|
||||
new /obj/item/weapon/ammo/shell/dart(), \
|
||||
new /obj/item/ammo_magazine(), \
|
||||
new /obj/item/ammo_casing/shotgun(), \
|
||||
new /obj/item/ammo_magazine/c38(), \
|
||||
new /obj/item/ammo_casing/shotgun/beanbag(), \
|
||||
new /obj/item/ammo_casing/shotgun/dart(), \
|
||||
/* new /obj/item/weapon/shield/riot(), */ \
|
||||
)
|
||||
|
||||
|
||||
@@ -613,10 +613,10 @@ Auto Patrol: []"},
|
||||
if(src.allowed(perp)) //Corrupt cops cannot exist beep boop
|
||||
return 0
|
||||
|
||||
if((istype(perp.l_hand, /obj/item/weapon/gun) && !istype(perp.l_hand, /obj/item/weapon/gun/shotgun)) || istype(perp.l_hand, /obj/item/weapon/baton))
|
||||
if((istype(perp.l_hand, /obj/item/weapon/gun) && !istype(perp.l_hand, /obj/item/weapon/gun/projectile/shotgun)) || istype(perp.l_hand, /obj/item/weapon/baton))
|
||||
threatcount += 4
|
||||
|
||||
if((istype(perp.r_hand, /obj/item/weapon/gun) && !istype(perp.r_hand, /obj/item/weapon/gun/shotgun)) || istype(perp.r_hand, /obj/item/weapon/baton))
|
||||
if((istype(perp.r_hand, /obj/item/weapon/gun) && !istype(perp.r_hand, /obj/item/weapon/gun/projectile/shotgun)) || istype(perp.r_hand, /obj/item/weapon/baton))
|
||||
threatcount += 4
|
||||
|
||||
if(istype(perp:belt, /obj/item/weapon/gun) || istype(perp:belt, /obj/item/weapon/baton))
|
||||
@@ -719,11 +719,11 @@ Auto Patrol: []"},
|
||||
//if(lastfired && world.time - lastfired < 100)
|
||||
// playsound(src.loc, 'ed209_shoot.ogg', 50, 0)
|
||||
|
||||
var/obj/beam/a_laser/A
|
||||
var/obj/item/projectile/A
|
||||
if (src.emagged)
|
||||
A = new /obj/beam/a_laser( loc )
|
||||
A = new /obj/item/projectile/beam( loc )
|
||||
else
|
||||
A = new /obj/bullet/electrode( loc )
|
||||
A = new /obj/item/projectile/electrode( loc )
|
||||
|
||||
if (!( istype(U, /turf) ))
|
||||
//A = null
|
||||
@@ -835,7 +835,7 @@ Auto Patrol: []"},
|
||||
src.build_step++
|
||||
user << "\blue You wire the ED-209 assembly!"
|
||||
src.name = "Wired ED-209 Assembly"
|
||||
else if (istype(W, /obj/item/weapon/gun/energy/taser_gun) && (src.build_step == 7))
|
||||
else if (istype(W, /obj/item/weapon/gun/energy/taser) && (src.build_step == 7))
|
||||
src.build_step++
|
||||
user << "You add the taser gun to [src]!"
|
||||
src.name = "Taser/Wired ED-209 Assembly"
|
||||
|
||||
@@ -594,10 +594,10 @@ Auto Patrol: []"},
|
||||
if(src.allowed(perp)) //Corrupt cops cannot exist beep boop
|
||||
return 0
|
||||
|
||||
if((istype(perp.l_hand, /obj/item/weapon/gun) && !istype(perp.l_hand, /obj/item/weapon/gun/shotgun)) || istype(perp.l_hand, /obj/item/weapon/baton))
|
||||
if((istype(perp.l_hand, /obj/item/weapon/gun) && !istype(perp.l_hand, /obj/item/weapon/gun/projectile/shotgun)) || istype(perp.l_hand, /obj/item/weapon/baton))
|
||||
threatcount += 4
|
||||
|
||||
if((istype(perp.r_hand, /obj/item/weapon/gun) && !istype(perp.r_hand, /obj/item/weapon/gun/shotgun)) || istype(perp.r_hand, /obj/item/weapon/baton))
|
||||
if((istype(perp.r_hand, /obj/item/weapon/gun) && !istype(perp.r_hand, /obj/item/weapon/gun/projectile/shotgun)) || istype(perp.r_hand, /obj/item/weapon/baton))
|
||||
threatcount += 4
|
||||
|
||||
if(istype(perp:belt, /obj/item/weapon/gun) || istype(perp:belt, /obj/item/weapon/baton))
|
||||
|
||||
@@ -15,7 +15,7 @@ obj/machinery/recharger
|
||||
if (src.charging || src.charging2)
|
||||
return
|
||||
if (istype(G, /obj/item/weapon/gun/energy))
|
||||
if (istype(G, /obj/item/weapon/gun/energy/general/nuclear))
|
||||
if (istype(G, /obj/item/weapon/gun/energy/nuclear) || istype(G, /obj/item/weapon/gun/energy/crossbow))
|
||||
user << "Your gun's recharge port was removed to make room for a miniaturized reactor."
|
||||
return
|
||||
user.drop_item()
|
||||
@@ -52,8 +52,8 @@ obj/machinery/recharger
|
||||
|
||||
/obj/machinery/recharger/process()
|
||||
if ((src.charging) && ! (stat & NOPOWER) )
|
||||
if (src.charging.charges < src.charging.maximum_charges)
|
||||
src.charging.charges++
|
||||
if (src.charging.power_supply.charge < src.charging.power_supply.maxcharge)
|
||||
src.charging.power_supply.give(100)
|
||||
src.icon_state = "recharger1"
|
||||
use_power(250)
|
||||
else
|
||||
|
||||
@@ -100,9 +100,9 @@
|
||||
if(istype(O,/obj/item/device/flash))
|
||||
if(O:shots < 5)
|
||||
O:shots += 1
|
||||
if(istype(O,/obj/item/weapon/gun/energy/taser_gun))
|
||||
if(O:charges < 4)
|
||||
O:charges += 1
|
||||
if(istype(O,/obj/item/weapon/gun/energy/taser/cyborg))
|
||||
if(O:power_supply.charge < O:power_supply.maxcharge)
|
||||
O:power_supply.give(100)
|
||||
if(istype(O,/obj/item/weapon/baton))
|
||||
if(O:charges < 10)
|
||||
O:charges += 1
|
||||
|
||||
@@ -529,7 +529,7 @@
|
||||
if ((istype(mover, /obj/item/weapon/dummy) || istype(mover, /obj/beam)))
|
||||
return prob(20)
|
||||
else
|
||||
if (istype(mover, /obj/bullet))
|
||||
if (istype(mover, /obj/item/projectile))
|
||||
return prob(10)
|
||||
else
|
||||
return !src.density
|
||||
|
||||
@@ -188,12 +188,12 @@
|
||||
var/turf/U = get_turf(target)
|
||||
if (!istype(T) || !istype(U))
|
||||
return
|
||||
var/obj/beam/a_laser/A
|
||||
var/obj/item/projectile/A
|
||||
if (src.lasers)
|
||||
A = new /obj/beam/a_laser( loc )
|
||||
A = new /obj/item/projectile/beam( loc )
|
||||
use_power(500)
|
||||
else
|
||||
A = new /obj/bullet/electrode( loc )
|
||||
A = new /obj/item/projectile/electrode( loc )
|
||||
use_power(200)
|
||||
A.current = T
|
||||
A.yo = U.y - T.y
|
||||
@@ -559,7 +559,7 @@
|
||||
if (targloc == curloc)
|
||||
continue
|
||||
playsound(src, 'Gunshot.ogg', 50, 1)
|
||||
var/obj/bullet/A = new /obj/bullet(curloc)
|
||||
var/obj/item/projectile/A = new /obj/item/projectile(curloc)
|
||||
src.projectiles--
|
||||
A.current = curloc
|
||||
A.yo = targloc.y - curloc.y
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
return
|
||||
set_ready_state(0)
|
||||
playsound(chassis, 'Laser.ogg', 50, 1)
|
||||
var/obj/beam/a_laser/A = new /obj/beam/a_laser(curloc)
|
||||
var/obj/item/projectile/beam/A = new /obj/item/projectile/beam(curloc)
|
||||
A.current = curloc
|
||||
A.yo = targloc.y - curloc.y
|
||||
A.xo = targloc.x - curloc.x
|
||||
@@ -55,7 +55,7 @@
|
||||
return
|
||||
|
||||
playsound(chassis, 'marauder.ogg', 50, 1)
|
||||
var/obj/beam/a_laser/A = new /obj/beam/a_laser/pulse_laser/heavy_pulse(curloc)
|
||||
var/obj/item/projectile/beam/pulse/A = new /obj/item/projectile/beam/pulse/heavy(curloc)
|
||||
A.current = curloc
|
||||
A.yo = targloc.y - curloc.y
|
||||
A.xo = targloc.x - curloc.x
|
||||
@@ -67,14 +67,16 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/beam/a_laser/pulse_laser/heavy_pulse
|
||||
/obj/item/projectile/beam/pulse/heavy
|
||||
name = "heavy pulse laser"
|
||||
icon_state = "pulse1_bl"
|
||||
life = 20
|
||||
var/life = 20
|
||||
|
||||
Bump(atom/A)
|
||||
A.bullet_act(PROJECTILE_PULSE, src, def_zone)
|
||||
src.life -= 10
|
||||
if(life <= 0)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/taser
|
||||
@@ -94,7 +96,7 @@
|
||||
return
|
||||
|
||||
playsound(chassis, 'Laser.ogg', 50, 1)
|
||||
var/obj/bullet/electrode/A = new /obj/bullet/electrode(curloc)
|
||||
var/obj/item/projectile/electrode/A = new /obj/item/projectile/electrode(curloc)
|
||||
A.current = curloc
|
||||
A.yo = targloc.y - curloc.y
|
||||
A.xo = targloc.x - curloc.x
|
||||
@@ -217,7 +219,7 @@
|
||||
if(!targloc || targloc == curloc)
|
||||
break
|
||||
playsound(chassis, 'Gunshot.ogg', 80, 1)
|
||||
var/obj/bullet/A = new /obj/bullet(curloc)
|
||||
var/obj/item/projectile/A = new /obj/item/projectile(curloc)
|
||||
src.projectiles--
|
||||
A.current = curloc
|
||||
A.yo = targloc.y - curloc.y
|
||||
@@ -255,7 +257,7 @@
|
||||
if (targloc == curloc)
|
||||
continue
|
||||
playsound(chassis, 'Gunshot.ogg', 50, 1)
|
||||
var/obj/bullet/weakbullet/A = new /obj/bullet/weakbullet(curloc)
|
||||
var/obj/item/projectile/weakbullet/A = new /obj/item/projectile/weakbullet(curloc)
|
||||
src.projectiles--
|
||||
A.current = curloc
|
||||
A.yo = targloc.y - curloc.y
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/obj/closet/syndicate/nuclear/New()
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/weapon/ammo/a357( src )
|
||||
new /obj/item/weapon/ammo/a357( src )
|
||||
new /obj/item/weapon/ammo/a357( src )
|
||||
new /obj/item/ammo_magazine( src )
|
||||
new /obj/item/ammo_magazine( src )
|
||||
new /obj/item/ammo_magazine( src )
|
||||
new /obj/item/weapon/storage/handcuff_kit( src )
|
||||
new /obj/item/weapon/storage/flashbang_kit( src )
|
||||
new /obj/item/weapon/gun/energy/general( src )
|
||||
new /obj/item/weapon/gun/energy/general( src )
|
||||
new /obj/item/weapon/gun/energy/general( src )
|
||||
new /obj/item/weapon/gun/energy( src )
|
||||
new /obj/item/weapon/gun/energy( src )
|
||||
new /obj/item/weapon/gun/energy( src )
|
||||
new /obj/item/weapon/pinpointer( src )
|
||||
new /obj/item/weapon/pinpointer( src )
|
||||
new /obj/item/weapon/pinpointer( src )
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
sleep(2)
|
||||
new /obj/item/weapon/reagent_containers/food/drinks/flask(src)
|
||||
new /obj/item/device/radio/headset/heads/captain( src )
|
||||
new /obj/item/weapon/gun/energy/general( src )
|
||||
new /obj/item/weapon/gun/energy( src )
|
||||
new /obj/item/weapon/storage/id_kit( src )
|
||||
new /obj/item/clothing/under/rank/captain( src )
|
||||
new /obj/item/clothing/shoes/brown( src )
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
new /obj/item/device/radio/headset/headset_sec(src)
|
||||
new /obj/item/weapon/flashbang(src)
|
||||
new /obj/item/weapon/handcuffs(src)
|
||||
new /obj/item/weapon/gun/energy/taser_gun(src)
|
||||
new /obj/item/weapon/gun/energy/taser(src)
|
||||
new /obj/item/device/flash(src)
|
||||
new /obj/item/clothing/under/color/red(src)
|
||||
new /obj/item/clothing/shoes/brown(src)
|
||||
@@ -46,7 +46,7 @@
|
||||
..()
|
||||
sleep(2)
|
||||
new /obj/item/device/radio/headset/heads/hop( src )
|
||||
new /obj/item/weapon/gun/energy/general( src )
|
||||
new /obj/item/weapon/gun/energy( src )
|
||||
new /obj/item/device/flash( src )
|
||||
new /obj/item/weapon/storage/id_kit( src )
|
||||
new /obj/item/clothing/under/rank/head_of_personnel( src )
|
||||
@@ -61,7 +61,7 @@
|
||||
sleep(2)
|
||||
new /obj/item/device/radio/headset/heads/hos(src)
|
||||
new /obj/item/weapon/shield/riot(src)
|
||||
new /obj/item/weapon/gun/energy/general( src )
|
||||
new /obj/item/weapon/gun/energy( src )
|
||||
new /obj/item/device/flash( src )
|
||||
new /obj/item/weapon/storage/id_kit( src )
|
||||
new /obj/item/clothing/under/rank/head_of_security( src )
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
new /obj/item/weapon/sword(src)
|
||||
new /obj/item/weapon/sword(src)
|
||||
new /obj/item/weapon/sword(src)
|
||||
new /obj/item/weapon/gun/energy/laser_gun(src)
|
||||
new /obj/item/weapon/gun/energy/laser_gun(src)
|
||||
new /obj/item/weapon/gun/energy/laser_gun(src)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/weapon/baton(src)
|
||||
new /obj/item/weapon/baton(src)
|
||||
new /obj/item/weapon/baton(src)
|
||||
@@ -33,9 +33,9 @@
|
||||
new /obj/item/weapon/sword(src)
|
||||
new /obj/item/weapon/sword(src)
|
||||
new /obj/item/weapon/sword(src)
|
||||
new /obj/item/weapon/gun/energy/laser_gun(src)
|
||||
new /obj/item/weapon/gun/energy/laser_gun(src)
|
||||
new /obj/item/weapon/gun/energy/laser_gun(src)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/weapon/gun/energy/laser(src)
|
||||
new /obj/item/weapon/baton(src)
|
||||
new /obj/item/weapon/baton(src)
|
||||
new /obj/item/weapon/baton(src)
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
/obj/beam/a_laser/pulse_laser
|
||||
name = "pulse laser"
|
||||
icon_state = "u_laser"
|
||||
|
||||
Bump(atom/A)
|
||||
spawn()
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_PULSE, src, def_zone)
|
||||
del(src)
|
||||
@@ -83,12 +83,11 @@
|
||||
if("revolver")
|
||||
if (src.uses >= 6)
|
||||
src.uses -= 6
|
||||
var/obj/item/weapon/gun/revolver/O = new /obj/item/weapon/gun/revolver(get_turf(src.hostpda))
|
||||
O.bullets = 7
|
||||
new /obj/item/weapon/gun/projectile(get_turf(src.hostpda))
|
||||
if("revolver_ammo")
|
||||
if (src.uses >= 2)
|
||||
src.uses -= 2
|
||||
new /obj/item/weapon/ammo/a357(get_turf(src.hostpda))
|
||||
new /obj/item/ammo_magazine(get_turf(src.hostpda))
|
||||
if("xbow")
|
||||
if (src.uses >= 5)
|
||||
src.uses -= 5
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
if (1)
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
if (occupied)
|
||||
new /obj/item/weapon/gun/energy/laser_gun/captain( src.loc )
|
||||
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
||||
occupied = 0
|
||||
del(src)
|
||||
if (2)
|
||||
@@ -35,14 +35,14 @@
|
||||
if (prob(75))
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
if (occupied)
|
||||
new /obj/item/weapon/gun/energy/laser_gun/captain( src.loc )
|
||||
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
||||
occupied = 0
|
||||
del(src)
|
||||
|
||||
|
||||
/obj/displaycase/meteorhit(obj/O as obj)
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
new /obj/item/weapon/gun/energy/laser_gun/captain( src.loc )
|
||||
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
||||
del(src)
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
|
||||
/obj/displaycase/attack_hand(mob/user as mob)
|
||||
if (src.destroyed && src.occupied)
|
||||
new /obj/item/weapon/gun/energy/laser_gun/captain( src.loc )
|
||||
new /obj/item/weapon/gun/energy/laser/captain( src.loc )
|
||||
user << "\b You deactivate the hover field built into the case."
|
||||
src.occupied = 0
|
||||
src.add_fingerprint(user)
|
||||
|
||||
@@ -79,7 +79,7 @@
|
||||
if ((istype(mover, /obj/effects) || istype(mover, /obj/item/weapon/dummy) || istype(mover, /obj/beam) || istype(mover, /obj/meteor/small)))
|
||||
return 1
|
||||
else
|
||||
if (istype(mover, /obj/bullet))
|
||||
if (istype(mover, /obj/item/projectile))
|
||||
return prob(30)
|
||||
else
|
||||
return !src.density
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,693 @@
|
||||
var/const/PROJECTILE_TASER = 1
|
||||
var/const/PROJECTILE_LASER = 2
|
||||
var/const/PROJECTILE_BULLET = 3
|
||||
var/const/PROJECTILE_PULSE = 4
|
||||
var/const/PROJECTILE_BOLT = 5
|
||||
var/const/PROJECTILE_WEAKBULLET = 6
|
||||
var/const/PROJECTILE_TELEGUN = 7
|
||||
var/const/PROJECTILE_DART = 8
|
||||
|
||||
///////////////////////////////////////////////
|
||||
////////////////AMMO SECTION///////////////////
|
||||
///////////////////////////////////////////////
|
||||
|
||||
/obj/item/projectile
|
||||
name = "projectile"
|
||||
icon = 'projectiles.dmi'
|
||||
icon_state = "bullet"
|
||||
density = 1
|
||||
throwforce = 0.1 //an attempt to make it possible to shoot your way through space
|
||||
unacidable = 1//Just to be sure.
|
||||
anchored = 1.0
|
||||
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT
|
||||
var
|
||||
def_zone = ""
|
||||
damage_type = PROJECTILE_BULLET
|
||||
mob/firer = null
|
||||
silenced = 0
|
||||
yo = null
|
||||
xo = null
|
||||
current = null
|
||||
|
||||
weakbullet
|
||||
damage_type = PROJECTILE_WEAKBULLET
|
||||
|
||||
beam
|
||||
name = "laser"
|
||||
damage_type = PROJECTILE_LASER
|
||||
icon_state = "laser"
|
||||
|
||||
pulse
|
||||
name = "pulse"
|
||||
damage_type = PROJECTILE_PULSE
|
||||
icon_state = "u_laser"
|
||||
|
||||
dart
|
||||
name = "dart"
|
||||
damage_type = PROJECTILE_DART
|
||||
icon_state = "toxin"
|
||||
|
||||
electrode
|
||||
name = "electrode"
|
||||
damage_type = PROJECTILE_TASER
|
||||
icon_state = "spark"
|
||||
|
||||
bolt
|
||||
name = "bolt"
|
||||
damage_type = PROJECTILE_BOLT
|
||||
icon_state = "cbbolt"
|
||||
|
||||
Bump(atom/A as mob|obj|turf|area)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(damage_type, src, def_zone)
|
||||
if(istype(A,/turf) && !istype(src, /obj/item/projectile/beam))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(damage_type, src, def_zone)
|
||||
if(firer && istype(A, /mob))
|
||||
var/mob/M = A
|
||||
if(!silenced)
|
||||
visible_message("\red [A.name] has been shot by [firer.name].", "\blue You hear a [istype(src, /obj/item/projectile/beam) ? "gunshot" : "laser blast"].")
|
||||
else
|
||||
if(M)
|
||||
if(M.client)
|
||||
M << "\red You've been shot!"
|
||||
if(istype(firer, /mob))
|
||||
M.attack_log += text("[] <b>[]/[]</b> shot <b>[]/[]</b> with a <b>[]</b>", world.time, firer, firer.client, M, M.client, src)
|
||||
firer.attack_log += text("[] <b>[]/[]</b> shot <b>[]/[]</b> with a <b>[]</b>", world.time, firer, firer.client, M, M.client, src)
|
||||
else
|
||||
M.attack_log += text("[] <b>UNKOWN SUBJECT (No longer exists)</b> shot <b>[]/[]</b> with a <b>[]</b>", world.time, M, M.client, src)
|
||||
del(src)
|
||||
return
|
||||
|
||||
CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if(air_group || (height==0)) return 1
|
||||
|
||||
if(istype(mover, /obj/item/projectile))
|
||||
return prob(95)
|
||||
else
|
||||
return 1
|
||||
|
||||
process()
|
||||
spawn while(src)
|
||||
if ((!( current ) || loc == current))
|
||||
current = locate(min(max(x + xo, 1), world.maxx), min(max(y + yo, 1), world.maxy), z)
|
||||
if ((x == 1 || x == world.maxx || y == 1 || y == world.maxy))
|
||||
del(src)
|
||||
return
|
||||
step_towards(src, current)
|
||||
sleep( 1 )
|
||||
return
|
||||
|
||||
/obj/item/ammo_casing
|
||||
name = "bullet casing (.375)"
|
||||
desc = "A .357 bullet casing."
|
||||
icon = 'ammo.dmi'
|
||||
icon_state = "s-casing"
|
||||
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT
|
||||
throwforce = 1
|
||||
var
|
||||
caliber = "357" //Which kind of guns it can be loaded into
|
||||
obj/item/projectile/BB //The loaded bullet
|
||||
New()
|
||||
BB = new /obj/item/projectile(src)
|
||||
pixel_x = rand(-10.0, 10)
|
||||
pixel_y = rand(-10.0, 10)
|
||||
dir = pick(cardinal)
|
||||
|
||||
|
||||
c38
|
||||
name = "bullet casing (.38)"
|
||||
desc = "A .38 bullet casing."
|
||||
caliber = "38"
|
||||
|
||||
New()
|
||||
BB = new /obj/item/projectile/weakbullet(src)
|
||||
pixel_x = rand(-10.0, 10)
|
||||
pixel_y = rand(-10.0, 10)
|
||||
dir = pick(cardinal)
|
||||
|
||||
shotgun
|
||||
desc = "A 12gauge shell."
|
||||
name = "12 gauge shell"
|
||||
icon_state = "gshell"
|
||||
caliber = "shotgun"
|
||||
m_amt = 25000
|
||||
|
||||
New()
|
||||
BB = new /obj/item/projectile
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
blank
|
||||
desc = "A blank shell."
|
||||
name = "blank shell"
|
||||
icon_state = "blshell"
|
||||
m_amt = 500
|
||||
|
||||
New()
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
beanbag
|
||||
desc = "A weak beanbag shell."
|
||||
name = "beanbag shell"
|
||||
icon_state = "bshell"
|
||||
m_amt = 10000
|
||||
|
||||
New()
|
||||
BB = new /obj/item/projectile/weakbullet
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
dart
|
||||
desc = "A dart for use in shotguns.."
|
||||
name = "shotgun dart"
|
||||
icon_state = "blshell" //someone, draw the icon, please.
|
||||
m_amt = 50000 //because it's like, instakill.
|
||||
|
||||
New()
|
||||
BB = new /obj/item/projectile/dart
|
||||
src.pixel_x = rand(-10.0, 10)
|
||||
src.pixel_y = rand(-10.0, 10)
|
||||
|
||||
/obj/item/ammo_magazine
|
||||
name = "ammo box (.357)"
|
||||
desc = "A box of .357 ammo"
|
||||
icon_state = "357"
|
||||
icon = 'ammo.dmi'
|
||||
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT
|
||||
item_state = "syringe_kit"
|
||||
m_amt = 50000
|
||||
throwforce = 2
|
||||
w_class = 1.0
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
var
|
||||
list/stored_ammo = list()
|
||||
|
||||
New()
|
||||
for(var/i = 1, i <= 7, i++)
|
||||
stored_ammo += new /obj/item/ammo_casing(src)
|
||||
update_icon()
|
||||
|
||||
update_icon()
|
||||
icon_state = text("[initial(icon_state)]-[]", stored_ammo.len)
|
||||
desc = text("There are [] shell\s left!", stored_ammo.len)
|
||||
|
||||
c38
|
||||
name = "speed loader (.38)"
|
||||
icon_state = "38"
|
||||
New()
|
||||
for(var/i = 1, i <= 7, i++)
|
||||
stored_ammo += new /obj/item/ammo_casing/c38(src)
|
||||
update_icon()
|
||||
|
||||
|
||||
///////////////////////////////////////////////
|
||||
//////////////////////Guns/////////////////////
|
||||
///////////////////////////////////////////////
|
||||
|
||||
/obj/item/weapon/gun
|
||||
name = "gun"
|
||||
desc = "Its a gun. It's pretty terrible, though."
|
||||
icon = 'gun.dmi'
|
||||
icon_state = "detective"
|
||||
item_state = "gun"
|
||||
flags = FPRINT | TABLEPASS | CONDUCT | ONBELT | USEDELAY
|
||||
m_amt = 2000
|
||||
w_class = 2.0
|
||||
throw_speed = 4
|
||||
throwforce = 5
|
||||
throw_range = 10
|
||||
force = 10
|
||||
|
||||
origin_tech = "combat=1"
|
||||
var
|
||||
fire_sound = 'Gunshot.ogg'
|
||||
obj/item/projectile/in_chamber
|
||||
caliber = ""
|
||||
silenced = 0
|
||||
badmin = 0
|
||||
|
||||
projectile
|
||||
desc = "A classic revolver. Uses 357 ammo"
|
||||
name = "revolver"
|
||||
icon_state = "revolver"
|
||||
caliber = "357"
|
||||
origin_tech = "combat=2;materials=2"
|
||||
w_class = 3.0
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
m_amt = 1000
|
||||
force = 24
|
||||
var
|
||||
list/loaded = list()
|
||||
max_shells = 7
|
||||
load_method = 0 //0 = Single shells or quick loader, 1 = magazine
|
||||
|
||||
load_into_chamber()
|
||||
if(!loaded.len)
|
||||
return 0
|
||||
var/obj/item/ammo_casing/AC = loaded[1] //load next casing.
|
||||
loaded -= AC //Remove casing from loaded list.
|
||||
AC.loc = get_turf(src) //Eject casing onto ground.
|
||||
if(AC.BB)
|
||||
in_chamber = AC.BB //Load projectile into chamber.
|
||||
AC.BB.loc = src //Set projectile loc to gun.
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
New()
|
||||
for(var/i = 1, i <= 7, i++)
|
||||
loaded += new /obj/item/ammo_casing(src)
|
||||
update_icon()
|
||||
|
||||
attackby(var/obj/item/A as obj, mob/user as mob)
|
||||
var/num_loaded = 0
|
||||
if(istype(A, /obj/item/ammo_magazine))
|
||||
var/obj/item/ammo_magazine/AM = A
|
||||
for(var/obj/item/ammo_casing/AC in AM.stored_ammo)
|
||||
if(loaded.len >= max_shells)
|
||||
break
|
||||
if(AC.caliber == caliber && loaded.len < max_shells)
|
||||
AC.loc = src
|
||||
AM.stored_ammo -= AC
|
||||
loaded += AC
|
||||
num_loaded++
|
||||
else if(istype(A, /obj/item/ammo_casing) && !load_method)
|
||||
var/obj/item/ammo_casing/AC = A
|
||||
if(AC.caliber == caliber && loaded.len < max_shells)
|
||||
user.drop_item()
|
||||
AC.loc = src
|
||||
loaded += AC
|
||||
num_loaded++
|
||||
if(num_loaded)
|
||||
user << text("\blue You load [] shell\s into the gun!", num_loaded)
|
||||
A.update_icon()
|
||||
return
|
||||
|
||||
update_icon()
|
||||
desc = initial(desc) + text(" Has [] rounds remaining.", loaded.len)
|
||||
|
||||
detective
|
||||
desc = "A cheap Martian knock-off of a Smith & Wesson Model 10. Uses .38-Special rounds."
|
||||
name = ".38 revolver"
|
||||
max_shells = 7
|
||||
force = 14.0
|
||||
caliber = "38"
|
||||
|
||||
New()
|
||||
for(var/i = 1, i <= 5, i++)
|
||||
loaded += new /obj/item/ammo_casing/c38(src)
|
||||
update_icon()
|
||||
|
||||
special_check(var/mob/living/carbon/human/M)
|
||||
if(istype(M) && M)
|
||||
if(istype(M.w_uniform, /obj/item/clothing/under/det) && istype(M.head, /obj/item/clothing/head/det_hat) && istype(M.wear_suit, /obj/item/clothing/suit/det_suit))
|
||||
return 1
|
||||
M << "\red You just don't feel cool enough to use this gun looking like that."
|
||||
return 0
|
||||
mateba
|
||||
name = "mateba"
|
||||
desc = "When you absolutely, positively need a 10mm hole in the other guy. Uses .357 ammo."
|
||||
icon_state = "mateba"
|
||||
|
||||
shotgun
|
||||
name = "shotgun"
|
||||
desc = "Useful for sweeping alleys."
|
||||
icon_state = "shotgun"
|
||||
max_shells = 2
|
||||
w_class = 4.0
|
||||
force = 7.0
|
||||
caliber = "shotgun"
|
||||
|
||||
New()
|
||||
update_icon()
|
||||
|
||||
combat
|
||||
name = "combat shotgun"
|
||||
icon_state = "cshotgun"
|
||||
w_class = 4.0
|
||||
force = 12.0
|
||||
flags = FPRINT | TABLEPASS | CONDUCT | USEDELAY | ONBACK
|
||||
max_shells = 8
|
||||
origin_tech = "combat=3"
|
||||
|
||||
energy
|
||||
icon_state = "energy"
|
||||
name = "energy"
|
||||
desc = "A basic energy-based gun with two settings: Stun and kill."
|
||||
fire_sound = 'Laser.ogg'
|
||||
var
|
||||
var/obj/item/weapon/cell/power_supply
|
||||
mode = 0 //0 = stun, 1 = kill
|
||||
charge_cost = 100 //How much energy is needed to fire.
|
||||
|
||||
New()
|
||||
power_supply = new(src)
|
||||
power_supply.give(power_supply.maxcharge)
|
||||
|
||||
load_into_chamber()
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(!power_supply)
|
||||
return 0
|
||||
if(power_supply.charge < charge_cost)
|
||||
return 0
|
||||
switch (mode)
|
||||
if(0)
|
||||
in_chamber = new /obj/item/projectile/electrode(src)
|
||||
if(1)
|
||||
in_chamber = new /obj/item/projectile/beam(src)
|
||||
power_supply.use(charge_cost)
|
||||
return 1
|
||||
|
||||
attack_self(mob/living/user as mob)
|
||||
switch(mode)
|
||||
if(0)
|
||||
mode = 1
|
||||
charge_cost = 100
|
||||
user << "\red [src.name] is now set to kill."
|
||||
if(1)
|
||||
mode = 0
|
||||
charge_cost = 100
|
||||
user << "\red [src.name] is now set to stun."
|
||||
update_icon()
|
||||
return
|
||||
|
||||
update_icon()
|
||||
var/ratio = power_supply.charge / power_supply.maxcharge
|
||||
ratio = round(ratio, 0.25) * 100
|
||||
icon_state = text("[][]", initial(icon_state), ratio)
|
||||
|
||||
laser
|
||||
name = "laser gun"
|
||||
icon_state = "laser"
|
||||
w_class = 3.0
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
force = 7.0
|
||||
m_amt = 2000
|
||||
origin_tech = "combat=3;magnets=2"
|
||||
|
||||
captain
|
||||
icon_state = "caplaser"
|
||||
desc = "This is an antique laser gun. All craftsmanship is of the highest quality. It is decorated with assistant leather and chrome. The object menaces with spikes of energy. On the item is an image of Space Station 13. The station is exploding."
|
||||
force = 10
|
||||
origin_tech = null
|
||||
|
||||
cyborg
|
||||
load_into_chamber()
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
R.cell.use(20)
|
||||
in_chamber = new /obj/item/projectile/beam(src)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
pulse_rifle
|
||||
name = "pulse rifle"
|
||||
desc = "A heavy-duty, pulse-based energy weapon with multiple fire settings, preferred by front-line combat personnel."
|
||||
icon_state = "pulse"
|
||||
force = 15
|
||||
mode = 2
|
||||
fire_sound = 'pulse.ogg'
|
||||
load_into_chamber()
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(power_supply.charge < charge_cost)
|
||||
return 0
|
||||
switch (mode)
|
||||
if(0)
|
||||
in_chamber = new /obj/item/projectile/electrode(src)
|
||||
if(1)
|
||||
in_chamber = new /obj/item/projectile/beam(src)
|
||||
if(2)
|
||||
in_chamber = new /obj/item/projectile/beam/pulse(src)
|
||||
power_supply.use(charge_cost)
|
||||
return 1
|
||||
|
||||
attack_self(mob/living/user as mob)
|
||||
mode++
|
||||
switch(mode)
|
||||
if(1)
|
||||
user << "\red [src.name] is now set to kill."
|
||||
charge_cost = 100
|
||||
if(2)
|
||||
user << "\red [src.name] is now set to destroy."
|
||||
charge_cost = 200
|
||||
else
|
||||
mode = 0
|
||||
user << "\red [src.name] is now set to stun."
|
||||
charge_cost = 50
|
||||
New()
|
||||
power_supply = new /obj/item/weapon/cell/super(src)
|
||||
power_supply.give(power_supply.maxcharge)
|
||||
update_icon()
|
||||
|
||||
nuclear
|
||||
name = "Advanced Energy Gun"
|
||||
desc = "An energy gun with an experimental miniaturized reactor."
|
||||
origin_tech = "combat=3;materials=5;powerstorage=3"
|
||||
var/lightfail = 0
|
||||
icon_state = "nucgun"
|
||||
|
||||
New()
|
||||
..()
|
||||
charge()
|
||||
|
||||
proc
|
||||
charge()
|
||||
if(power_supply.charge < power_supply.maxcharge)
|
||||
if(failcheck())
|
||||
power_supply.give(100)
|
||||
update_icon()
|
||||
if(!crit_fail)
|
||||
spawn(50) charge()
|
||||
|
||||
failcheck()
|
||||
lightfail = 0
|
||||
if (prob(src.reliability)) return 1 //No failure
|
||||
if (prob(src.reliability))
|
||||
for (var/mob/M in range(0,src)) //Only a minor failure, enjoy your radiation if you're in the same tile or carrying it
|
||||
if (src in M.contents)
|
||||
M << "\red Your gun feels pleasantly warm for a moment."
|
||||
else
|
||||
M << "\red You feel a warm sensation."
|
||||
M.radiation += rand(1,40)
|
||||
lightfail = 1
|
||||
else
|
||||
for (var/mob/M in range(rand(1,4),src)) //Big failure, TIME FOR RADIATION BITCHES
|
||||
if (src in M.contents)
|
||||
M << "\red Your gun's reactor overloads!"
|
||||
M << "\red You feel a wave of heat wash over you."
|
||||
M.radiation += 100
|
||||
crit_fail = 1 //break the gun so it stops recharging
|
||||
update_icon()
|
||||
|
||||
update_charge()
|
||||
if (crit_fail)
|
||||
overlays += "nucgun-whee"
|
||||
return
|
||||
var/ratio = power_supply.charge / power_supply.maxcharge
|
||||
ratio = round(ratio, 0.25) * 100
|
||||
overlays += text("nucgun-[]", ratio)
|
||||
|
||||
update_reactor()
|
||||
if(crit_fail)
|
||||
overlays += "nucgun-crit"
|
||||
return
|
||||
if(lightfail)
|
||||
overlays += "nucgun-medium"
|
||||
else if ((power_supply.charge/power_supply.maxcharge) <= 0.5)
|
||||
overlays += "nucgun-light"
|
||||
else
|
||||
overlays += "nucgun-clean"
|
||||
|
||||
update_mode()
|
||||
if (mode == 2)
|
||||
overlays += "nucgun-stun"
|
||||
else if (mode == 1)
|
||||
overlays += "nucgun-kill"
|
||||
|
||||
emp_act(severity)
|
||||
..()
|
||||
reliability -= round(15/severity)
|
||||
|
||||
update_icon()
|
||||
overlays = null
|
||||
update_charge()
|
||||
update_reactor()
|
||||
update_mode()
|
||||
|
||||
taser
|
||||
name = "taser gun"
|
||||
icon_state = "taser"
|
||||
fire_sound = 'Taser.ogg'
|
||||
charge_cost = 100
|
||||
|
||||
load_into_chamber()
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(power_supply.charge <= charge_cost)
|
||||
return 0
|
||||
in_chamber = new /obj/item/projectile/electrode(src)
|
||||
power_supply.use(charge_cost)
|
||||
return 1
|
||||
|
||||
attack_self(mob/living/user as mob)
|
||||
return
|
||||
|
||||
New()
|
||||
power_supply = new /obj/item/weapon/cell/crap(src)
|
||||
power_supply.give(power_supply.maxcharge)
|
||||
|
||||
cyborg
|
||||
load_into_chamber()
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
R.cell.use(20)
|
||||
in_chamber = new /obj/item/projectile/electrode(src)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
crossbow
|
||||
name = "mini energy-crossbow"
|
||||
desc = "A weapon favored by many of the syndicates stealth specialists."
|
||||
icon_state = "crossbow"
|
||||
w_class = 2.0
|
||||
item_state = "crossbow"
|
||||
force = 4.0
|
||||
throw_speed = 2
|
||||
throw_range = 10
|
||||
m_amt = 2000
|
||||
origin_tech = "combat=2;magnets=2;syndicate=2"
|
||||
silenced = 1
|
||||
fire_sound = 'Genhit.ogg'
|
||||
|
||||
New()
|
||||
power_supply = new /obj/item/weapon/cell/crap(src)
|
||||
power_supply.give(power_supply.maxcharge)
|
||||
charge()
|
||||
|
||||
proc/charge()
|
||||
if(power_supply)
|
||||
if(power_supply.charge < power_supply.maxcharge) power_supply.give(100)
|
||||
spawn(50) charge()
|
||||
|
||||
update_icon()
|
||||
return
|
||||
|
||||
attack_self(mob/living/user as mob)
|
||||
return
|
||||
|
||||
load_into_chamber()
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(power_supply.charge <= charge_cost)
|
||||
return 0
|
||||
in_chamber = new /obj/item/projectile/bolt(src)
|
||||
power_supply.use(charge_cost)
|
||||
return 1
|
||||
|
||||
cyborg
|
||||
load_into_chamber()
|
||||
if(in_chamber)
|
||||
return 1
|
||||
if(isrobot(src.loc))
|
||||
var/mob/living/silicon/robot/R = src.loc
|
||||
R.cell.use(20)
|
||||
in_chamber = new /obj/item/projectile/electrode(src)
|
||||
return 1
|
||||
return 0
|
||||
proc
|
||||
load_into_chamber()
|
||||
in_chamber = new /obj/item/projectile/weakbullet(src)
|
||||
return 1
|
||||
|
||||
badmin_ammo() //CREEEEEED!!!!!!!!!
|
||||
switch(badmin)
|
||||
if(1)
|
||||
in_chamber = new /obj/item/projectile/electrode(src)
|
||||
if(2)
|
||||
in_chamber = new /obj/item/projectile/weakbullet(src)
|
||||
if(3)
|
||||
in_chamber = new /obj/item/projectile(src)
|
||||
if(4)
|
||||
in_chamber = new /obj/item/projectile/beam(src)
|
||||
if(5)
|
||||
in_chamber = new /obj/item/projectile/beam/pulse(src)
|
||||
else
|
||||
return 0
|
||||
if(!istype(src, /obj/item/weapon/gun/energy))
|
||||
var/obj/item/ammo_casing/AC = new(get_turf(src))
|
||||
AC.name = "unidentifiable bullet casing"
|
||||
AC.desc = "This casing has the Central Command Insignia etched into the side."
|
||||
return 1
|
||||
|
||||
special_check(var/mob/M) //Placeholder for any special checks, like detective's revolver.
|
||||
return 1
|
||||
|
||||
emp_act(severity)
|
||||
for(var/obj/O in contents)
|
||||
O.emp_act(severity)
|
||||
|
||||
afterattack(atom/target as mob|obj|turf|area, mob/living/user as mob|obj)
|
||||
if(istype(target, /obj/machinery/recharger) && istype(src, /obj/item/weapon/gun/energy))
|
||||
return
|
||||
if(istype(user, /mob/living))
|
||||
var/mob/living/M = user
|
||||
if ((M.mutations & CLOWN) && prob(50))
|
||||
M << "\red The [src.name] blows up in your face."
|
||||
M.take_organ_damage(0,20)
|
||||
M.drop_item()
|
||||
del(src)
|
||||
return
|
||||
if ((istype(user, /mob/living/carbon/monkey)) && ticker.mode != "monkey")
|
||||
user << "\red You don't have the dexterity to do this!"
|
||||
return
|
||||
|
||||
add_fingerprint(user)
|
||||
|
||||
var/turf/curloc = user.loc
|
||||
var/atom/targloc = get_turf(target)
|
||||
if (!targloc || !istype(targloc, /turf) || !curloc)
|
||||
return
|
||||
|
||||
if(badmin)
|
||||
badmin_ammo()
|
||||
else if(!special_check())
|
||||
return
|
||||
else if(!load_into_chamber())
|
||||
user << "\red *click* *click*";
|
||||
return
|
||||
|
||||
update_icon()
|
||||
|
||||
playsound(user, fire_sound, 50, 1)
|
||||
|
||||
if(!in_chamber)
|
||||
return
|
||||
|
||||
in_chamber.firer = user
|
||||
in_chamber.def_zone = user.get_organ_target()
|
||||
|
||||
if(targloc == curloc)
|
||||
user.bullet_act(in_chamber.damage_type)
|
||||
del(in_chamber)
|
||||
else
|
||||
in_chamber.loc = get_turf(user)
|
||||
user.next_move = world.time + 4
|
||||
in_chamber.silenced = silenced
|
||||
in_chamber.current = curloc
|
||||
in_chamber.yo = targloc.y - curloc.y
|
||||
in_chamber.xo = targloc.x - curloc.x
|
||||
spawn()
|
||||
in_chamber.process()
|
||||
sleep(1)
|
||||
in_chamber = null
|
||||
@@ -538,7 +538,7 @@ CLIPBOARDS
|
||||
del(src)
|
||||
return
|
||||
if("l_gun")
|
||||
var/obj/item/weapon/gun/energy/laser_gun/W = new /obj/item/weapon/gun/energy/laser_gun( M )
|
||||
var/obj/item/weapon/gun/energy/laser/W = new /obj/item/weapon/gun/energy/laser( M )
|
||||
if (M.hand)
|
||||
M.l_hand = W
|
||||
else
|
||||
@@ -549,7 +549,7 @@ CLIPBOARDS
|
||||
del(src)
|
||||
return
|
||||
if("t_gun")
|
||||
var/obj/item/weapon/gun/energy/taser_gun/W = new /obj/item/weapon/gun/energy/taser_gun( M )
|
||||
var/obj/item/weapon/gun/energy/taser/W = new /obj/item/weapon/gun/energy/taser( M )
|
||||
if (M.hand)
|
||||
M.l_hand = W
|
||||
else
|
||||
|
||||
@@ -78,12 +78,11 @@ SYNDICATE UPLINK
|
||||
if("revolver")
|
||||
if (src.uses >= 6)
|
||||
src.uses -= 6
|
||||
var/obj/item/weapon/gun/revolver/O = new /obj/item/weapon/gun/revolver(get_turf(src))
|
||||
O.bullets = 7
|
||||
new /obj/item/weapon/gun/projectile(get_turf(src))
|
||||
if("revolver_ammo")
|
||||
if (src.uses >= 2)
|
||||
src.uses -= 2
|
||||
new /obj/item/weapon/ammo/a357(get_turf(src))
|
||||
new /obj/item/ammo_magazine(get_turf(src))
|
||||
if("xbow")
|
||||
if (src.uses >= 5)
|
||||
src.uses -= 5
|
||||
|
||||
@@ -12,13 +12,13 @@
|
||||
|
||||
/obj/item/weapon/storage/blankbox/New()
|
||||
|
||||
new /obj/item/weapon/ammo/shell/blank( src )
|
||||
new /obj/item/weapon/ammo/shell/blank( src )
|
||||
new /obj/item/weapon/ammo/shell/blank( src )
|
||||
new /obj/item/weapon/ammo/shell/blank( src )
|
||||
new /obj/item/weapon/ammo/shell/blank( src )
|
||||
new /obj/item/weapon/ammo/shell/blank( src )
|
||||
new /obj/item/weapon/ammo/shell/blank( src )
|
||||
new /obj/item/ammo_casing/shotgun/blank( src )
|
||||
new /obj/item/ammo_casing/shotgun/blank( src )
|
||||
new /obj/item/ammo_casing/shotgun/blank( src )
|
||||
new /obj/item/ammo_casing/shotgun/blank( src )
|
||||
new /obj/item/ammo_casing/shotgun/blank( src )
|
||||
new /obj/item/ammo_casing/shotgun/blank( src )
|
||||
new /obj/item/ammo_casing/shotgun/blank( src )
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
src.orient_objs(4, 10, 4, 3)
|
||||
else if(istype(user, /mob/living/carbon/human) && src == H.belt)//only humans have belts
|
||||
src.orient_objs(1, 3, 8, 3)
|
||||
else
|
||||
else
|
||||
src.orient_objs(7, 8, 10, 7)
|
||||
return
|
||||
|
||||
|
||||
@@ -940,142 +940,6 @@
|
||||
src.part3.release()
|
||||
return
|
||||
|
||||
/obj/bullet/Bump(atom/A as mob|obj|turf|area)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_BULLET, src, def_zone)
|
||||
if(istype(A,/turf))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(PROJECTILE_BULLET, src, def_zone)
|
||||
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if(air_group || (height==0)) return 1
|
||||
|
||||
if(istype(mover, /obj/bullet))
|
||||
return prob(95)
|
||||
else
|
||||
return 1
|
||||
|
||||
/obj/bullet/weakbullet/Bump(atom/A as mob|obj|turf|area)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_WEAKBULLET, src)
|
||||
if(istype(A,/turf))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(PROJECTILE_WEAKBULLET, src, def_zone)
|
||||
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/electrode/Bump(atom/A as mob|obj|turf|area)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_TASER)
|
||||
if(istype(A,/turf))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(PROJECTILE_TASER, src, def_zone)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/cbbolt/Bump(atom/A as mob|obj|turf|area)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_BOLT)
|
||||
if(istype(A,/turf))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(PROJECTILE_BOLT, src, def_zone)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/neurodart/Bump(atom/A as mob|obj|turf|area)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_DART)
|
||||
if(istype(A,/turf))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(PROJECTILE_DART, src, def_zone)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/teleshot/Bump(atom/A as mob|obj|turf|area)
|
||||
if (src.target == null)
|
||||
var/list/turfs = list( )
|
||||
for(var/turf/T in orange(10, src))
|
||||
if(T.x>world.maxx-4 || T.x<4) continue //putting them at the edge is dumb
|
||||
if(T.y>world.maxy-4 || T.y<4) continue
|
||||
turfs += T
|
||||
if(turfs)
|
||||
src.target = pick(turfs)
|
||||
if (!src.target)
|
||||
del(src)
|
||||
return
|
||||
spawn(0)
|
||||
if(A)
|
||||
var/turf/T = get_turf(A)
|
||||
for(var/atom/movable/M in T)
|
||||
if(istype(M, /obj/effects)) //sparks don't teleport
|
||||
continue
|
||||
if (M.anchored)
|
||||
continue
|
||||
if (istype(M, /atom/movable))
|
||||
var/datum/effects/system/spark_spread/s = new /datum/effects/system/spark_spread
|
||||
s.set_up(5, 1, M)
|
||||
s.start()
|
||||
if(prob(src.failchance)) //oh dear a problem, put em in deep space
|
||||
do_teleport(M, locate(rand(5, world.maxx - 5), rand(5, world.maxy -5), 3), 0)
|
||||
else
|
||||
do_teleport(M, src.target, 2)
|
||||
del(src)
|
||||
return
|
||||
|
||||
/obj/bullet/proc/process()
|
||||
spawn while(src)
|
||||
if ((!( src.current ) || src.loc == src.current))
|
||||
src.current = locate(min(max(src.x + src.xo, 1), world.maxx), min(max(src.y + src.yo, 1), world.maxy), src.z)
|
||||
if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy))
|
||||
//SN src = null
|
||||
del(src)
|
||||
return
|
||||
step_towards(src, src.current)
|
||||
sleep( 1 )
|
||||
return
|
||||
|
||||
/obj/beam/a_laser/Bump(atom/A as mob|obj|turf)
|
||||
spawn(0)
|
||||
if(A)
|
||||
A.bullet_act(PROJECTILE_LASER, src, def_zone)
|
||||
del(src)
|
||||
|
||||
/obj/beam/a_laser/proc/process()
|
||||
spawn while(src)
|
||||
//world << text("laser at [] []:[], target is [] []:[]", src.loc, src.x, src.y, src:current, src.current:x, src.current:y)
|
||||
if ((!( src.current ) || src.loc == src.current))
|
||||
src.current = locate(min(max(src.x + src.xo, 1), world.maxx), min(max(src.y + src.yo, 1), world.maxy), src.z)
|
||||
//world << text("current changed: target is now []. location was [],[], added [],[]", src.current, src.x, src.y, src.xo, src.yo)
|
||||
if ((src.x == 1 || src.x == world.maxx || src.y == 1 || src.y == world.maxy))
|
||||
//world << text("off-world, deleting")
|
||||
//SN src = null
|
||||
del(src)
|
||||
return
|
||||
step_towards(src, src.current)
|
||||
// make it able to hit lying-down folk
|
||||
var/list/dudes = list()
|
||||
for(var/mob/living/M in src.loc)
|
||||
dudes += M
|
||||
if(dudes.len)
|
||||
src.Bump(pick(dudes))
|
||||
//world << text("laser stepped, now [] []:[], target is [] []:[]", src.loc, src.x, src.y, src.current, src.current:x, src.current:y)
|
||||
src.life--
|
||||
if (src.life <= 0)
|
||||
//SN src = null
|
||||
del(src)
|
||||
return
|
||||
sleep(1)
|
||||
return
|
||||
|
||||
/obj/beam/i_beam/proc/hit()
|
||||
//world << "beam \ref[src]: hit"
|
||||
if (src.master)
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
del(src)
|
||||
|
||||
/obj/window/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
|
||||
if(istype(mover, /obj/beam))
|
||||
if(istype(mover, /obj/beam) || istype(mover, /obj/item/projectile/beam))
|
||||
return 1
|
||||
if (src.dir == SOUTHWEST || src.dir == SOUTHEAST || src.dir == NORTHWEST || src.dir == NORTHEAST)
|
||||
return 0 //full tile window, you can't move into it!
|
||||
@@ -54,7 +54,7 @@
|
||||
return 1
|
||||
|
||||
/obj/window/CheckExit(atom/movable/O as mob|obj, target as turf)
|
||||
if(istype(O, /obj/beam))
|
||||
if(istype(O, /obj/beam) || istype(O, /obj/item/projectile/beam))
|
||||
return 1
|
||||
if (get_dir(O.loc, target) == src.dir)
|
||||
return 0
|
||||
|
||||
@@ -919,7 +919,7 @@ datum
|
||||
build_type = PROTOLATHE
|
||||
materials = list("$metal" = 5000, "$glass" = 1000, "$uranium" = 500)
|
||||
reliability_base = 76
|
||||
build_path = "/obj/item/weapon/gun/energy/general/nuclear"
|
||||
build_path = "/obj/item/weapon/gun/energy/nuclear"
|
||||
|
||||
large_grenade
|
||||
name = "Large Grenade"
|
||||
|
||||
@@ -157,7 +157,7 @@ var/global/sent_strike_team = 0
|
||||
|
||||
equip_if_possible(new /obj/item/weapon/storage/backpack(src), slot_back)
|
||||
|
||||
equip_if_possible(new /obj/item/weapon/ammo/a357(src), slot_in_backpack)
|
||||
equip_if_possible(new /obj/item/ammo_magazine(src), slot_in_backpack)
|
||||
equip_if_possible(new /obj/item/weapon/storage/firstaid/regular(src), slot_in_backpack)
|
||||
equip_if_possible(new /obj/item/weapon/storage/flashbang_kit(src), slot_in_backpack)
|
||||
equip_if_possible(new /obj/item/device/flashlight(src), slot_in_backpack)
|
||||
@@ -170,10 +170,8 @@ var/global/sent_strike_team = 0
|
||||
equip_if_possible(new /obj/item/weapon/sword(src), slot_l_store)
|
||||
equip_if_possible(new /obj/item/weapon/flashbang(src), slot_r_store)
|
||||
equip_if_possible(new /obj/item/weapon/tank/emergency_oxygen(src), slot_s_store)
|
||||
equip_if_possible(new /obj/item/weapon/gun/projectile/mateba(src), slot_belt)
|
||||
|
||||
var/obj/item/weapon/gun/revolver/GUN = new /obj/item/weapon/gun/revolver/mateba(src)
|
||||
GUN.bullets = 7
|
||||
equip_if_possible(GUN, slot_belt)
|
||||
//equip_if_possible(new /obj/item/weapon/gun/energy/pulse_rifle(src), slot_l_hand)
|
||||
/*Commented out because Commandos now have their rifles spawn in front of them, along with operation manuals.
|
||||
Useful for copy pasta since I'm lazy.*/
|
||||
|
||||
@@ -189,7 +189,7 @@
|
||||
if(!istype(U, /turf))
|
||||
return
|
||||
|
||||
var/obj/bullet/neurodart/A = new /obj/bullet/neurodart(usr.loc)
|
||||
var/obj/item/projectile/dart/A = new /obj/item/projectile/dart(usr.loc)
|
||||
|
||||
A.current = U
|
||||
A.yo = U.y - T.y
|
||||
|
||||
@@ -135,9 +135,8 @@ obj/item/weapon/robot_module/syndicate
|
||||
..()
|
||||
src.modules += new /obj/item/weapon/baton(src)
|
||||
src.modules += new /obj/item/weapon/handcuffs(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/taser_gun(src)
|
||||
src.emag = new /obj/item/weapon/gun/energy/laser_gun(src)
|
||||
src.emag:shot_delay = 7
|
||||
src.modules += new /obj/item/weapon/gun/energy/taser/cyborg(src)
|
||||
src.emag = new /obj/item/weapon/gun/energy/laser/cyborg(src)
|
||||
|
||||
|
||||
/obj/item/weapon/robot_module/janitor/New()
|
||||
@@ -175,7 +174,7 @@ obj/item/weapon/robot_module/syndicate
|
||||
*/ //Merged with Service borg, not a death, just a transformation
|
||||
|
||||
obj/item/weapon/robot_module/syndicate/New()
|
||||
src.modules += new /obj/item/weapon/gun/energy/crossbow(src)
|
||||
src.modules += new /obj/item/weapon/gun/energy/crossbow/cyborg(src)
|
||||
src.modules += new /obj/item/weapon/card/emag(src)
|
||||
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
src.fire_delay = rand(20,100)
|
||||
src.shot_number = 0
|
||||
use_power(1000)
|
||||
var/obj/beam/a_laser/A = new /obj/beam/a_laser( src.loc )
|
||||
var/obj/item/projectile/beam/A = new /obj/item/projectile/beam( src.loc )
|
||||
A.icon_state = "u_laser"
|
||||
playsound(src.loc, 'emitter.ogg', 25, 1)
|
||||
if(prob(35))
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 2.1 KiB |
+14
-14
@@ -469,7 +469,7 @@
|
||||
"aja" = (/turf/simulated/floor,/area/security/warden)
|
||||
"ajb" = (/obj/rack,/obj/item/weapon/baton,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet,/turf/simulated/floor,/area/security/warden)
|
||||
"ajc" = (/obj/machinery/atmospherics/pipe/simple,/obj/rack,/obj/item/weapon/shield/riot{pixel_x = 3; pixel_y = 3},/obj/item/weapon/shield/riot,/obj/item/weapon/shield/riot{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/warden)
|
||||
"ajd" = (/obj/rack,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/energy/general,/turf/simulated/floor,/area/security/warden)
|
||||
"ajd" = (/obj/rack,/obj/item/weapon/gun/energy/laser,/turf/simulated/floor,/area/security/warden)
|
||||
"aje" = (/obj/rack,/obj/item/clothing/mask/gas/emergency{pixel_x = 3; pixel_y = 3},/obj/item/clothing/mask/gas/emergency,/obj/item/clothing/mask/gas/emergency{pixel_x = -3; pixel_y = -3},/turf/simulated/floor,/area/security/warden)
|
||||
"ajf" = (/obj/machinery/atmospherics/pipe/simple{dir = 5},/turf/simulated/wall/r_wall,/area/security/hos)
|
||||
"ajg" = (/obj/machinery/light{dir = 1},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/secure_closet/hos,/turf/simulated/floor,/area/security/hos)
|
||||
@@ -716,7 +716,7 @@
|
||||
"anN" = (/obj/machinery/atmospherics/pipe/manifold{dir = 1},/obj/machinery/door/firedoor/border_only,/obj/machinery/door/airlock/security{name = "Security"; req_access = null; req_access_txt = "1"},/turf/simulated/floor,/area/security/brig)
|
||||
"anO" = (/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/turf/simulated/floor,/area/crew_quarters/courtroom)
|
||||
"anP" = (/obj/table/woodentable{dir = 2; icon_state = "woodentable2corner"},/obj/item/weapon/paper/Court,/turf/simulated/floor,/area/crew_quarters/courtroom)
|
||||
"anQ" = (/obj/table/woodentable{dir = 1; icon_state = "woodentable2"; name = "wooden table"},/obj/item/weapon/gun/shotgun{desc = "It's kinda loud..."; name = "adjudicator"; shellsunlimited = 3},/turf/simulated/floor,/area/crew_quarters/courtroom)
|
||||
"anQ" = (/obj/table/woodentable{dir = 1; icon_state = "woodentable2"; name = "wooden table"},/turf/simulated/floor,/area/crew_quarters/courtroom)
|
||||
"anR" = (/obj/table/woodentable{dir = 5; icon_state = "woodentable2"; name = "wooden table"},/obj/item/device/radio/intercom{broadcasting = 1; dir = 8; listening = 0; name = "Station Intercom (Court)"; pixel_x = 0},/turf/simulated/floor,/area/crew_quarters/courtroom)
|
||||
"anS" = (/obj/stool/chair{name = "Witness"},/obj/machinery/door/window/northleft{base_state = "right"; dir = 4; icon_state = "right"},/obj/window/reinforced,/obj/window/reinforced{dir = 1},/turf/simulated/floor,/area/crew_quarters/courtroom)
|
||||
"anT" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/turf/simulated/floor,/area/crew_quarters/courtroom)
|
||||
@@ -1029,7 +1029,7 @@
|
||||
"atO" = (/obj/grille,/obj/window/reinforced{dir = 8},/obj/window/reinforced{dir = 4},/obj/window/reinforced,/turf/simulated/floor/plating,/area/maintenance/fpmaint)
|
||||
"atP" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/turf/simulated/wall,/area/security/detectives_office)
|
||||
"atQ" = (/obj/table/woodentable{dir = 9},/obj/machinery/atmospherics/unary/vent_scrubber{dir = 8; frequency = 1439; icon_state = "off"; id_tag = null; on = 1; scrub_N2O = 0; scrub_Toxins = 0},/obj/machinery/light/small,/obj/item/weapon/camera_test{desc = "A one use - polaroid camera. 30 photos left."; name = "detectives camera"; pictures_left = 30},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
|
||||
"atR" = (/obj/table/woodentable{dir = 5},/obj/item/weapon/ammo/a38,/obj/item/weapon/ammo/a38,/obj/item/weapon/gun/detectiverevolver{bullets = 7},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
|
||||
"atR" = (/obj/table/woodentable{dir = 5},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
|
||||
"atS" = (/obj/cable{d1 = 1; d2 = 2; icon_state = "1-2"; tag = "Streight"},/obj/cable{d1 = 2; d2 = 4; icon_state = "2-4"; tag = "90Curve"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
|
||||
"atT" = (/obj/cable{d1 = 4; d2 = 8; icon_state = "4-8"; tag = "Streight"},/obj/machinery/computer/secure_data/detective_computer,/obj/machinery/camera{c_tag = "Detective's Office"; dir = 1},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
|
||||
"atU" = (/obj/machinery/computer/security/wooden_tv,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "grimy"},/area/security/detectives_office)
|
||||
@@ -3618,7 +3618,7 @@
|
||||
"brD" = (/obj/device/piano{dir = 4},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"brE" = (/obj/stool{pixel_y = 8},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"brF" = (/obj/item/clothing/head/helmet/that{throwforce = 1; throwing = 1},/obj/table/reinforced{dir = 1},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"brG" = (/obj/table/reinforced{dir = 9; icon_state = "reinf_tabledir"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/item/weapon/gun/shotgun,/obj/machinery/requests_console{department = "Bar"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"brG" = (/obj/table/reinforced{dir = 9; icon_state = "reinf_tabledir"},/obj/machinery/light{icon_state = "tube1"; dir = 4},/obj/machinery/requests_console{department = "Bar"; departmentType = 2; pixel_x = 30; pixel_y = 0},/turf/simulated/floor{icon_state = "bar"},/area/crew_quarters/bar)
|
||||
"brH" = (/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/storage/utilitybelt/medical{pixel_x = -6; pixel_y = 8},/turf/simulated/floor{icon_state = "white"; dir = 8},/area/medical/medbay)
|
||||
"brI" = (/obj/table{icon_state = "table_vertical"; dir = 4},/obj/item/weapon/gun/syringe{pixel_y = 3},/obj/item/weapon/gun/syringe,/turf/simulated/floor{icon_state = "white"},/area/medical/medbay)
|
||||
"brJ" = (/obj/secure_closet/medical1{pixel_x = 5},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/medical/medbay)
|
||||
@@ -5807,7 +5807,7 @@
|
||||
"chI" = (/turf/unsimulated/floor{name = "plating"},/area)
|
||||
"chJ" = (/obj/landmark/start,/turf/space,/area)
|
||||
"chK" = (/obj/stool/chair{dir = 4},/turf/unsimulated/floor{icon = 'shuttle.dmi'; icon_state = "floor4"},/area/syndicate_station/start)
|
||||
"chL" = (/obj/table{icon_state = "tabledir"; dir = 9},/obj/item/weapon/ammo/a357,/turf/unsimulated/floor{icon = 'shuttle.dmi'; icon_state = "floor4"},/area/syndicate_station/start)
|
||||
"chL" = (/obj/table{icon_state = "tabledir"; dir = 9},/turf/unsimulated/floor{icon = 'shuttle.dmi'; icon_state = "floor4"},/area/syndicate_station/start)
|
||||
"chM" = (/obj/securearea{name = "EXTERNAL AIRLOCK"; desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"},/turf/simulated/shuttle/wall{icon_state = "wall3"},/area/syndicate_station/start)
|
||||
"chN" = (/obj/machinery/door/poddoor{id = "syndicate"; name = "Outer Airlock"},/turf/unsimulated/floor{icon = 'shuttle.dmi'; icon_state = "floor4"},/area/syndicate_station/start)
|
||||
"chO" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/device/aicard,/turf/unsimulated/floor{icon = 'shuttle.dmi'; icon_state = "floor4"},/area/syndicate_station/start)
|
||||
@@ -6171,7 +6171,7 @@
|
||||
"coI" = (/obj/bookcase{name = "bookcase (Reports)"},/obj/bookcase{name = "bookcase (Tactics)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed)
|
||||
"coJ" = (/obj/secure_closet/hos,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed)
|
||||
"coK" = (/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed)
|
||||
"coL" = (/obj/rack,/obj/item/weapon/secstorage/sbriefcase,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/weapon/gun/energy/pulse_rifle{icon_state = "m1911"; name = "M1911-P"},/obj/item/weapon/gun/shotgun/combat{shellsunlimited = 1; w_class = 2},/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed)
|
||||
"coL" = (/obj/rack,/obj/item/weapon/secstorage/sbriefcase,/obj/item/weapon/cigpacket,/obj/item/weapon/zippo,/obj/item/weapon/gun/energy/pulse_rifle{icon_state = "m1911"; name = "M1911-P"},/obj/item/weapon/storage/utilitybelt,/obj/item/weapon/storage/backpack/security,/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed)
|
||||
"coM" = (/obj/bookcase{name = "bookcase (Reports)"},/turf/unsimulated/floor{icon_state = "grimy"},/area/centcom/creed)
|
||||
"coN" = (/obj/grille,/obj/window/reinforced,/obj/window/reinforced{dir = 4},/obj/window/reinforced{dir = 1},/turf/unsimulated/floor{name = "plating"},/area/centcom)
|
||||
"coO" = (/turf/unsimulated/floor{icon_state = "engine"},/area/centcom)
|
||||
@@ -6364,14 +6364,14 @@
|
||||
"cst" = (/obj/machinery/igniter,/turf/simulated/floor,/area/tdome)
|
||||
"csu" = (/turf/simulated/floor,/area/tdome)
|
||||
"csv" = (/obj/disposalpipe/segment,/turf/simulated/floor,/area/tdome)
|
||||
"csw" = (/obj/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/sword/red,/obj/item/weapon/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csw" = (/obj/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/sword/red,/obj/item/weapon/sword/red,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csx" = (/obj/machinery/door/poddoor{id = "thunderdomegen"; name = "General Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csy" = (/obj/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
|
||||
"csz" = (/obj/machinery/door/poddoor{id = "thunderdome"; name = "Thunderdome Blast Door"},/turf/unsimulated/floor{name = "plating"},/area/tdome)
|
||||
"csA" = (/turf/simulated/floor{icon_state = "red"; dir = 8},/area/tdome)
|
||||
"csB" = (/turf/simulated/floor{icon_state = "green"; dir = 4},/area/tdome)
|
||||
"csC" = (/obj/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
|
||||
"csD" = (/obj/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/sword/green,/obj/item/weapon/sword/green,/obj/item/weapon/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csD" = (/obj/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/sword/green,/obj/item/weapon/sword/green,/obj/item/weapon/sword/green,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csE" = (/obj/machinery/recharger{pixel_y = 4},/obj/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
|
||||
"csF" = (/obj/machinery/recharger{pixel_y = 4},/obj/landmark{name = "tdome1"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome1)
|
||||
"csG" = (/obj/machinery/camera{pixel_x = 11; pixel_y = -9; network = "thunder"; c_tag = "Red Team"},/obj/landmark{name = "tdome2"},/turf/unsimulated/floor{name = "plating"},/area/tdome/tdome2)
|
||||
@@ -6387,10 +6387,10 @@
|
||||
"csQ" = (/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
|
||||
"csR" = (/obj/machinery/door/poddoor{id = "thunderdomehea"; name = "Heavy Supply"},/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csS" = (/turf/unsimulated/floor{icon_state = "redcorner"; dir = 8},/area/tdome)
|
||||
"csT" = (/obj/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/weapon/gun/revolver,/obj/item/weapon/gun/revolver,/obj/item/weapon/gun/revolver,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csT" = (/obj/rack,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csU" = (/obj/machinery/door/airlock/command{name = "Thunderdome"},/turf/simulated/floor,/area/tdome)
|
||||
"csV" = (/obj/window/reinforced{dir = 5; health = 1e+007},/obj/forcefield{desc = "You can't get in. Heh."; layer = 1; name = "Blocker"},/obj/machinery/atmospherics/pipe/simple{icon_state = "intact"; level = 2},/turf/simulated/floor,/area/tdome)
|
||||
"csW" = (/obj/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/weapon/gun/revolver,/obj/item/weapon/gun/revolver,/obj/item/weapon/gun/revolver,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csW" = (/obj/rack,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/suit/armor/vest,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/obj/item/clothing/head/helmet/swat,/turf/unsimulated/floor{icon_state = "dark"},/area/tdome)
|
||||
"csX" = (/turf/unsimulated/floor{icon_state = "greencorner"},/area/tdome)
|
||||
"csY" = (/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
"csZ" = (/obj/stool/chair{dir = 1},/obj/landmark{name = "tdomeadmin"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
@@ -6409,8 +6409,8 @@
|
||||
"ctm" = (/turf/unsimulated/floor{icon_state = "red"; dir = 9},/area/tdome)
|
||||
"ctn" = (/turf/unsimulated/floor{icon_state = "red"; dir = 1},/area/tdome)
|
||||
"cto" = (/turf/unsimulated/floor{icon_state = "red"; dir = 5},/area/tdome)
|
||||
"ctp" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/gun/energy/general,/obj/item/weapon/classic_baton,/obj/item/weapon/handcuffs,/obj/item/clothing/gloves/stungloves,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
"ctq" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/gun/energy/general,/obj/item/weapon/classic_baton,/obj/item/weapon/handcuffs,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
"ctp" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/gun/energy,/obj/item/weapon/classic_baton,/obj/item/weapon/handcuffs,/obj/item/clothing/gloves/stungloves,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
"ctq" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/machinery/recharger{pixel_y = 4},/obj/item/weapon/classic_baton,/obj/item/weapon/handcuffs,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
"ctr" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/obj/item/weapon/chem_grenade/cleaner,/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
"cts" = (/obj/machinery/computer/pod{id = "thunderdomeaxe"; name = "Thunderdome Axe Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
"ctt" = (/obj/machinery/computer/pod{id = "thunderdomegen"; name = "Thunderdome General Supply"},/turf/unsimulated/floor{icon_state = "white"},/area/tdome/tdomeadmin)
|
||||
@@ -6450,12 +6450,12 @@
|
||||
"cub" = (/obj/item/weapon/cloaking_device,/obj/item/clothing/glasses/thermal,/obj/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cuc" = (/obj/item/weapon/hand_tele,/obj/window/reinforced,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cud" = (/obj/table{icon_state = "tabledir"; dir = 1},/obj/machinery/recharger{pixel_y = 4},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cue" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/obj/item/weapon/ammo/a357,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cue" = (/obj/table{dir = 5; icon_state = "tabledir"},/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cuf" = (/obj/item/weapon/rcd,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/obj/item/weapon/rcd_ammo,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cug" = (/obj/reagent_dispensers/beerkeg,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cuh" = (/obj/rack,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/suit/armor/tdome/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/under/color/red,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cui" = (/obj/rack,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/suit/armor/tdome/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/under/color/green,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/shoes/brown,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/obj/item/clothing/head/helmet/thunderdome,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cuj" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/axe,/obj/item/weapon/axe,/obj/item/weapon/axe,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/energy/laser_gun,/obj/item/weapon/gun/revolver,/obj/item/weapon/gun/revolver,/obj/item/weapon/gun/revolver,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cuj" = (/obj/table{dir = 9; icon_state = "tabledir"},/obj/item/weapon/axe,/obj/item/weapon/axe,/obj/item/weapon/axe,/obj/item/weapon/baton,/obj/item/weapon/baton,/obj/item/weapon/baton,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cuk" = (/obj/table{dir = 5; icon_state = "tabledir"},/obj/item/weapon/bananapeel,/obj/item/weapon/bananapeel,/obj/item/weapon/bananapeel,/obj/item/weapon/bananapeel,/obj/item/weapon/bananapeel,/obj/item/weapon/card/emag,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cul" = (/obj/crate/secure/weapon,/turf/unsimulated/floor{icon_state = "floor"},/area/tdome)
|
||||
"cum" = (/turf/simulated/shuttle/wall{dir = 8; icon_state = "wall_space"},/area/derelict/ship)
|
||||
|
||||
+2
-2
@@ -130,6 +130,7 @@
|
||||
#define FILE_DIR "icons/turf"
|
||||
#define FILE_DIR "interface"
|
||||
#define FILE_DIR "maps"
|
||||
#define FILE_DIR "maps/backup"
|
||||
#define FILE_DIR "sound"
|
||||
#define FILE_DIR "sound/ambience"
|
||||
#define FILE_DIR "sound/announcer"
|
||||
@@ -462,7 +463,6 @@
|
||||
#include "code\game\objects\bomb.dm"
|
||||
#include "code\game\objects\cleaner.dm"
|
||||
#include "code\game\objects\closets.dm"
|
||||
#include "code\game\objects\death_commando_gear.dm"
|
||||
#include "code\game\objects\displaycase.dm"
|
||||
#include "code\game\objects\door_assembly.dm"
|
||||
#include "code\game\objects\effect_system.dm"
|
||||
@@ -553,7 +553,7 @@
|
||||
#include "code\game\objects\items\weapons\explosives.dm"
|
||||
#include "code\game\objects\items\weapons\flamethrower.dm"
|
||||
#include "code\game\objects\items\weapons\grenades.dm"
|
||||
#include "code\game\objects\items\weapons\guns_ammo.dm"
|
||||
#include "code\game\objects\items\weapons\guns_new.dm"
|
||||
#include "code\game\objects\items\weapons\hydroponics.dm"
|
||||
#include "code\game\objects\items\weapons\implants.dm"
|
||||
#include "code\game\objects\items\weapons\kitchen.dm"
|
||||
|
||||
Reference in New Issue
Block a user