[MIRROR] Ammo cleanup (#2643)
* Ammo cleanup * Update briefcase.dm * Update manned_turret.dm * Update mime.dm * Update manned_turret.dm * Update manned_turret.dm * fixes * mime memes
This commit is contained in:
committed by
Poojawa
parent
235236c5a9
commit
6efb76fad5
@@ -204,9 +204,9 @@
|
||||
category = CAT_WEAPONRY
|
||||
subcategory = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/meteorshot
|
||||
name = "Meteorshot Shell"
|
||||
result = /obj/item/ammo_casing/shotgun/meteorshot
|
||||
/datum/crafting_recipe/meteorslug
|
||||
name = "Meteorslug Shell"
|
||||
result = /obj/item/ammo_casing/shotgun/meteorslug
|
||||
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1,
|
||||
/obj/item/rcd_ammo = 1,
|
||||
/obj/item/stock_parts/manipulator = 2)
|
||||
@@ -228,7 +228,7 @@
|
||||
|
||||
/datum/crafting_recipe/dragonsbreath
|
||||
name = "Dragonsbreath Shell"
|
||||
result = /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
|
||||
result = /obj/item/ammo_casing/shotgun/dragonsbreath
|
||||
reqs = list(/obj/item/ammo_casing/shotgun/techshell = 1, /datum/reagent/phosphorus = 5)
|
||||
tools = list(/obj/item/screwdriver)
|
||||
time = 5
|
||||
@@ -270,17 +270,6 @@
|
||||
category = CAT_WEAPONRY
|
||||
subcategory = CAT_AMMO
|
||||
|
||||
/datum/crafting_recipe/improvisedslugoverload
|
||||
name = "Overload Improvised Shell"
|
||||
result = /obj/item/ammo_casing/shotgun/improvised/overload
|
||||
reqs = list(/obj/item/ammo_casing/shotgun/improvised = 1,
|
||||
/datum/reagent/blackpowder = 10,
|
||||
/datum/reagent/toxin/plasma = 20)
|
||||
tools = list(/obj/item/screwdriver)
|
||||
time = 5
|
||||
category = CAT_WEAPONRY
|
||||
subcategory = CAT_AMMO
|
||||
|
||||
/datum/crafting_recipe/laserslug
|
||||
name = "Laser Slug Shell"
|
||||
result = /obj/item/ammo_casing/shotgun/laserslug
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
minimum_distance = 5
|
||||
icon_state = "stickmanranged"
|
||||
icon_living = "stickmanranged"
|
||||
casingtype = /obj/item/ammo_casing/c45nostamina
|
||||
casingtype = /obj/item/ammo_casing/c45/nostamina
|
||||
projectilesound = 'sound/misc/bang.ogg'
|
||||
loot = list(/obj/item/gun/ballistic/automatic/pistol/stickman)
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
minimum_distance = 5
|
||||
icon_state = "syndicateranged"
|
||||
icon_living = "syndicateranged"
|
||||
casingtype = /obj/item/ammo_casing/c45nostamina
|
||||
casingtype = /obj/item/ammo_casing/c45/nostamina
|
||||
projectilesound = 'sound/weapons/gunshot_smg.ogg'
|
||||
loot = list(/obj/effect/gibspawner/human)
|
||||
|
||||
|
||||
@@ -1,100 +1,126 @@
|
||||
// .357 (Syndie Revolver)
|
||||
|
||||
/obj/item/ammo_casing/a357
|
||||
name = ".357 bullet casing"
|
||||
desc = "A .357 bullet casing."
|
||||
caliber = "357"
|
||||
projectile_type = /obj/item/projectile/bullet
|
||||
projectile_type = /obj/item/projectile/bullet/a357
|
||||
|
||||
// 7.62 (Nagant Rifle)
|
||||
|
||||
/obj/item/ammo_casing/a762
|
||||
name = "7.62 bullet casing"
|
||||
desc = "A 7.62 bullet casing."
|
||||
icon_state = "762-casing"
|
||||
caliber = "a762"
|
||||
projectile_type = /obj/item/projectile/bullet
|
||||
projectile_type = /obj/item/projectile/bullet/a762
|
||||
|
||||
/obj/item/ammo_casing/a762/enchanted
|
||||
projectile_type = /obj/item/projectile/bullet/weakbullet3
|
||||
projectile_type = /obj/item/projectile/bullet/a762_enchanted
|
||||
|
||||
/obj/item/ammo_casing/a50
|
||||
desc = "A .50AE bullet casing."
|
||||
caliber = ".50"
|
||||
projectile_type = /obj/item/projectile/bullet
|
||||
|
||||
/obj/item/ammo_casing/c38
|
||||
desc = "A .38 bullet casing."
|
||||
caliber = "38"
|
||||
projectile_type = /obj/item/projectile/bullet/weakbullet2
|
||||
|
||||
/obj/item/ammo_casing/c10mm
|
||||
desc = "A 10mm bullet casing."
|
||||
caliber = "10mm"
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3
|
||||
|
||||
/obj/item/ammo_casing/c10mm/ap
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3/ap
|
||||
|
||||
/obj/item/ammo_casing/c10mm/fire
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3/fire
|
||||
|
||||
/obj/item/ammo_casing/c10mm/hp
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3/hp
|
||||
|
||||
/obj/item/ammo_casing/c9mm
|
||||
desc = "A 9mm bullet casing."
|
||||
caliber = "9mm"
|
||||
projectile_type = /obj/item/projectile/bullet/weakbullet3
|
||||
|
||||
/obj/item/ammo_casing/c9mmap
|
||||
desc = "A 9mm bullet casing."
|
||||
caliber = "9mm"
|
||||
projectile_type =/obj/item/projectile/bullet/armourpiercing
|
||||
|
||||
/obj/item/ammo_casing/c9mmtox
|
||||
desc = "A 9mm bullet casing."
|
||||
caliber = "9mm"
|
||||
projectile_type = /obj/item/projectile/bullet/toxinbullet
|
||||
|
||||
/obj/item/ammo_casing/c9mminc
|
||||
desc = "A 9mm bullet casing."
|
||||
caliber = "9mm"
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/firebullet
|
||||
|
||||
/obj/item/ammo_casing/c46x30mm
|
||||
desc = "A 4.6x30mm bullet casing."
|
||||
caliber = "4.6x30mm"
|
||||
projectile_type = /obj/item/projectile/bullet/weakbullet3
|
||||
|
||||
/obj/item/ammo_casing/c46x30mmap
|
||||
desc = "A 4.6x30mm bullet casing."
|
||||
caliber = "4.6x30mm"
|
||||
projectile_type =/obj/item/projectile/bullet/armourpiercing
|
||||
|
||||
/obj/item/ammo_casing/c46x30mmtox
|
||||
desc = "A 4.6x30mm bullet casing."
|
||||
caliber = "4.6x30mm"
|
||||
projectile_type = /obj/item/projectile/bullet/toxinbullet
|
||||
|
||||
/obj/item/ammo_casing/c46x30mminc
|
||||
desc = "A 4.6x30mm bullet casing."
|
||||
caliber = "4.6x30mm"
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/firebullet
|
||||
|
||||
/obj/item/ammo_casing/c45
|
||||
desc = "A .45 bullet casing."
|
||||
caliber = ".45"
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet
|
||||
|
||||
/obj/item/ammo_casing/c45nostamina
|
||||
desc = "A .45 bullet casing."
|
||||
caliber = ".45"
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3
|
||||
// 7.62x38mmR (Nagant Revolver)
|
||||
|
||||
/obj/item/ammo_casing/n762
|
||||
name = "7.62x38mmR bullet casing"
|
||||
desc = "A 7.62x38mmR bullet casing."
|
||||
caliber = "n762"
|
||||
projectile_type = /obj/item/projectile/bullet
|
||||
projectile_type = /obj/item/projectile/bullet/n762
|
||||
|
||||
// .50AE (Desert Eagle)
|
||||
|
||||
/obj/item/ammo_casing/a50AE
|
||||
name = ".50AE bullet casing"
|
||||
desc = "A .50AE bullet casing."
|
||||
caliber = ".50"
|
||||
projectile_type = /obj/item/projectile/bullet/a50AE
|
||||
|
||||
// .38 (Detective's Gun)
|
||||
|
||||
/obj/item/ammo_casing/c38
|
||||
name = ".38 bullet casing"
|
||||
desc = "A .38 bullet casing."
|
||||
caliber = "38"
|
||||
projectile_type = /obj/item/projectile/bullet/c38
|
||||
|
||||
// 10mm (Stechkin)
|
||||
|
||||
/obj/item/ammo_casing/c10mm
|
||||
name = ".10mm bullet casing"
|
||||
desc = "A 10mm bullet casing."
|
||||
caliber = "10mm"
|
||||
projectile_type = /obj/item/projectile/bullet/c10mm
|
||||
|
||||
/obj/item/ammo_casing/c10mm/ap
|
||||
name = ".10mm armor-piercing bullet casing"
|
||||
desc = "A 10mm armor-piercing bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/c10mm_ap
|
||||
|
||||
/obj/item/ammo_casing/c10mm/hp
|
||||
name = ".10mm hollow-point bullet casing"
|
||||
desc = "A 10mm hollow-point bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/c10mm_hp
|
||||
|
||||
/obj/item/ammo_casing/c10mm/fire
|
||||
name = ".10mm incendiary bullet casing"
|
||||
desc = "A 10mm incendiary bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/c10mm
|
||||
|
||||
// 9mm (Stechkin APS)
|
||||
|
||||
/obj/item/ammo_casing/c9mm
|
||||
name = "9mm bullet casing"
|
||||
desc = "A 9mm bullet casing."
|
||||
caliber = "9mm"
|
||||
projectile_type = /obj/item/projectile/bullet/c9mm
|
||||
|
||||
/obj/item/ammo_casing/c9mm/ap
|
||||
name = "9mm armor-piercing bullet casing"
|
||||
desc = "A 9mm armor-piercing bullet casing."
|
||||
projectile_type =/obj/item/projectile/bullet/c9mm_ap
|
||||
|
||||
/obj/item/ammo_casing/c9mm/inc
|
||||
name = "9mm incendiary bullet casing"
|
||||
desc = "A 9mm incendiary bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/c9mm
|
||||
|
||||
// 4.6x30mm (Autorifles)
|
||||
|
||||
/obj/item/ammo_casing/c46x30mm
|
||||
name = "4.6x30mm bullet casing"
|
||||
desc = "A 4.6x30mm bullet casing."
|
||||
caliber = "4.6x30mm"
|
||||
projectile_type = /obj/item/projectile/bullet/c46x30mm
|
||||
|
||||
/obj/item/ammo_casing/c46x30mm/ap
|
||||
name = "4.6x30mm armor-piercing bullet casing"
|
||||
desc = "A 4.6x30mm armor-piercing bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/c46x30mm_ap
|
||||
|
||||
/obj/item/ammo_casing/c46x30mm/inc
|
||||
name = "4.6x30mm incendiary bullet casing"
|
||||
desc = "A 4.6x30mm incendiary bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/c46x30mm
|
||||
|
||||
// .45 (M1911)
|
||||
|
||||
/obj/item/ammo_casing/c45
|
||||
name = ".45 bullet casing"
|
||||
desc = "A .45 bullet casing."
|
||||
caliber = ".45"
|
||||
projectile_type = /obj/item/projectile/bullet/c45
|
||||
|
||||
/obj/item/ammo_casing/c45/nostamina
|
||||
projectile_type = /obj/item/projectile/bullet/c45_nostamina
|
||||
|
||||
// 5.56mm (M-90gl Carbine)
|
||||
|
||||
/obj/item/ammo_casing/a556
|
||||
name = "5.56mm bullet casing"
|
||||
desc = "A 5.56mm bullet casing."
|
||||
caliber = "a556"
|
||||
projectile_type = /obj/item/projectile/bullet/heavybullet
|
||||
projectile_type = /obj/item/projectile/bullet/a556
|
||||
|
||||
// 40mm (Grenade Launcher)
|
||||
|
||||
/obj/item/ammo_casing/a40mm
|
||||
name = "40mm HE shell"
|
||||
@@ -103,148 +129,93 @@
|
||||
icon_state = "40mmHE"
|
||||
projectile_type = /obj/item/projectile/bullet/a40mm
|
||||
|
||||
// .50 (Sniper)
|
||||
|
||||
|
||||
/////SNIPER ROUNDS
|
||||
|
||||
/obj/item/ammo_casing/point50
|
||||
/obj/item/ammo_casing/p50
|
||||
name = ".50 bullet casing"
|
||||
desc = "A .50 bullet casing."
|
||||
caliber = ".50"
|
||||
projectile_type = /obj/item/projectile/bullet/sniper
|
||||
projectile_type = /obj/item/projectile/bullet/p50
|
||||
icon_state = ".50"
|
||||
|
||||
/obj/item/ammo_casing/soporific
|
||||
/obj/item/ammo_casing/p50/soporific
|
||||
name = ".50 soporific bullet casing"
|
||||
desc = "A .50 bullet casing, specialised in sending the target to sleep, instead of hell."
|
||||
caliber = ".50"
|
||||
projectile_type = /obj/item/projectile/bullet/sniper/soporific
|
||||
projectile_type = /obj/item/projectile/bullet/p50/soporific
|
||||
icon_state = "sleeper"
|
||||
|
||||
/obj/item/ammo_casing/haemorrhage
|
||||
desc = "A .50 bullet casing, specialised in causing massive bloodloss."
|
||||
caliber = ".50"
|
||||
projectile_type = /obj/item/projectile/bullet/sniper/haemorrhage
|
||||
icon_state = ".50"
|
||||
|
||||
/obj/item/ammo_casing/penetrator
|
||||
/obj/item/ammo_casing/p50/penetrator
|
||||
name = ".50 penetrator round bullet casing"
|
||||
desc = "A .50 caliber penetrator round casing."
|
||||
caliber = ".50"
|
||||
projectile_type = /obj/item/projectile/bullet/sniper/penetrator
|
||||
icon_state = ".50"
|
||||
projectile_type = /obj/item/projectile/bullet/p50/penetrator
|
||||
|
||||
/obj/item/ammo_casing/point50/gang
|
||||
desc = "A black market .50 bullet casing."
|
||||
projectile_type = /obj/item/projectile/bullet/sniper/gang
|
||||
|
||||
/obj/item/ammo_casing/point50/gang/sleeper
|
||||
desc = "Am illegally modified tranquilizer round."
|
||||
projectile_type = /obj/item/projectile/bullet/sniper/gang/sleeper
|
||||
icon_state = "sleeper"
|
||||
|
||||
/// SAW ROUNDS
|
||||
// 1.95x129mm (SAW)
|
||||
|
||||
/obj/item/ammo_casing/mm195x129
|
||||
name = "1.95x129mm bullet casing"
|
||||
desc = "A 1.95x129mm bullet casing."
|
||||
icon_state = "762-casing"
|
||||
caliber = "mm195129"
|
||||
projectile_type = /obj/item/projectile/bullet/saw
|
||||
|
||||
/obj/item/ammo_casing/mm195x129/bleeding
|
||||
desc = "A 1.95x129mm bullet casing with specialized inner-casing, that when it makes contact with a target, releases tiny shrapnel to induce internal bleeding."
|
||||
icon_state = "762-casing"
|
||||
projectile_type = /obj/item/projectile/bullet/saw/bleeding
|
||||
|
||||
/obj/item/ammo_casing/mm195x129/hollow
|
||||
desc = "A 1.95x129mm bullet casing designed to cause more damage to unarmored targets."
|
||||
projectile_type = /obj/item/projectile/bullet/saw/hollow
|
||||
projectile_type = /obj/item/projectile/bullet/mm195x129
|
||||
|
||||
/obj/item/ammo_casing/mm195x129/ap
|
||||
name = "1.95x129mm armor-piercing bullet casing"
|
||||
desc = "A 1.95x129mm bullet casing designed with a hardened-tipped core to help penetrate armored targets."
|
||||
projectile_type = /obj/item/projectile/bullet/saw/ap
|
||||
projectile_type = /obj/item/projectile/bullet/mm195x129_ap
|
||||
|
||||
/obj/item/ammo_casing/mm195x129/hollow
|
||||
name = "1.95x129mm hollow-point bullet casing"
|
||||
desc = "A 1.95x129mm bullet casing designed to cause more damage to unarmored targets."
|
||||
projectile_type = /obj/item/projectile/bullet/mm195x129_hp
|
||||
|
||||
/obj/item/ammo_casing/mm195x129/incen
|
||||
name = "1.95x129mm incendiary bullet casing"
|
||||
desc = "A 1.95x129mm bullet casing designed with a chemical-filled capsule on the tip that when bursted, reacts with the atmosphere to produce a fireball, engulfing the target in flames. "
|
||||
projectile_type = /obj/item/projectile/bullet/saw/incen
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/mm195x129
|
||||
|
||||
|
||||
|
||||
|
||||
//SHOTGUN ROUNDS
|
||||
// Shotgun
|
||||
|
||||
/obj/item/ammo_casing/shotgun
|
||||
name = "shotgun slug"
|
||||
desc = "A 12 gauge lead slug."
|
||||
icon_state = "blshell"
|
||||
caliber = "shotgun"
|
||||
projectile_type = /obj/item/projectile/bullet
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_slug
|
||||
materials = list(MAT_METAL=4000)
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/buckshot
|
||||
name = "buckshot shell"
|
||||
desc = "A 12 gauge buckshot shell."
|
||||
icon_state = "gshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet
|
||||
pellets = 6
|
||||
variance = 25
|
||||
|
||||
/obj/item/ammo_casing/shotgun/rubbershot
|
||||
name = "rubber shot"
|
||||
desc = "A shotgun casing filled with densely-packed rubber balls, used to incapacitate crowds from a distance."
|
||||
icon_state = "bshell"
|
||||
projectile_type = /obj/item/projectile/bullet/rpellet
|
||||
pellets = 6
|
||||
variance = 25
|
||||
materials = list(MAT_METAL=4000)
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/beanbag
|
||||
name = "beanbag slug"
|
||||
desc = "A weak beanbag slug for riot control."
|
||||
icon_state = "bshell"
|
||||
projectile_type = /obj/item/projectile/bullet/weakbullet
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_beanbag
|
||||
materials = list(MAT_METAL=250)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/incendiary
|
||||
name = "incendiary slug"
|
||||
desc = "An incendiary-coated shotgun slug."
|
||||
icon_state = "ishell"
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/shotgun
|
||||
|
||||
/obj/item/ammo_casing/shotgun/improvised
|
||||
name = "improvised shell"
|
||||
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards."
|
||||
icon_state = "improvshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/weak
|
||||
materials = list(MAT_METAL=250)
|
||||
pellets = 10
|
||||
variance = 25
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/improvised/overload
|
||||
name = "overloaded improvised shell"
|
||||
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards. This one has been packed with even more \
|
||||
propellant. It's like playing russian roulette, with a shotgun."
|
||||
icon_state = "improvshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/overload
|
||||
materials = list(MAT_METAL=250)
|
||||
/obj/item/ammo_casing/shotgun/dragonsbreath
|
||||
name = "dragonsbreath shell"
|
||||
desc = "A shotgun shell which fires a spread of incendiary pellets."
|
||||
icon_state = "ishell2"
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/shotgun/dragonsbreath
|
||||
pellets = 4
|
||||
variance = 40
|
||||
|
||||
variance = 35
|
||||
|
||||
/obj/item/ammo_casing/shotgun/stunslug
|
||||
name = "taser slug"
|
||||
desc = "A stunning taser slug."
|
||||
icon_state = "stunshell"
|
||||
projectile_type = /obj/item/projectile/bullet/stunshot
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_stunslug
|
||||
materials = list(MAT_METAL=250)
|
||||
|
||||
|
||||
/obj/item/ammo_casing/shotgun/meteorshot
|
||||
name = "meteorshot shell"
|
||||
/obj/item/ammo_casing/shotgun/meteorslug
|
||||
name = "meteorslug shell"
|
||||
desc = "A shotgun shell rigged with CMC technology, which launches a massive slug when fired."
|
||||
icon_state = "mshell"
|
||||
projectile_type = /obj/item/projectile/bullet/meteorshot
|
||||
|
||||
/obj/item/ammo_casing/shotgun/breaching
|
||||
name = "breaching shell"
|
||||
desc = "An economic version of the meteorshot, utilizing similar technologies. Great for busting down doors."
|
||||
icon_state = "mshell"
|
||||
projectile_type = /obj/item/projectile/bullet/meteorshot/weak
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_meteorslug
|
||||
|
||||
/obj/item/ammo_casing/shotgun/pulseslug
|
||||
name = "pulse slug"
|
||||
@@ -252,27 +223,39 @@
|
||||
energy blast. While the heat and power drain limit it to one use, it can still allow an operator to engage targets that ballistic ammunition \
|
||||
would have difficulty with."
|
||||
icon_state = "pshell"
|
||||
projectile_type = /obj/item/projectile/beam/pulse/shot
|
||||
|
||||
/obj/item/ammo_casing/shotgun/incendiary
|
||||
name = "incendiary slug"
|
||||
desc = "An incendiary-coated shotgun slug."
|
||||
icon_state = "ishell"
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/shell
|
||||
projectile_type = /obj/item/projectile/beam/pulse/shotgun
|
||||
|
||||
/obj/item/ammo_casing/shotgun/frag12
|
||||
name = "FRAG-12 slug"
|
||||
desc = "A high explosive breaching round for a 12 gauge shotgun."
|
||||
icon_state = "heshell"
|
||||
projectile_type = /obj/item/projectile/bullet/frag12
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun_frag12
|
||||
|
||||
/obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
|
||||
name = "dragonsbreath shell"
|
||||
desc = "A shotgun shell which fires a spread of incendiary pellets."
|
||||
icon_state = "ishell2"
|
||||
projectile_type = /obj/item/projectile/bullet/incendiary/shell/dragonsbreath
|
||||
pellets = 4
|
||||
variance = 35
|
||||
/obj/item/ammo_casing/shotgun/buckshot
|
||||
name = "buckshot shell"
|
||||
desc = "A 12 gauge buckshot shell."
|
||||
icon_state = "gshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/shotgun_buckshot
|
||||
pellets = 6
|
||||
variance = 25
|
||||
|
||||
/obj/item/ammo_casing/shotgun/rubbershot
|
||||
name = "rubber shot"
|
||||
desc = "A shotgun casing filled with densely-packed rubber balls, used to incapacitate crowds from a distance."
|
||||
icon_state = "bshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/shotgun_rubbershot
|
||||
pellets = 6
|
||||
variance = 25
|
||||
materials = list(MAT_METAL=4000)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/improvised
|
||||
name = "improvised shell"
|
||||
desc = "An extremely weak shotgun shell with multiple small pellets made out of metal shards."
|
||||
icon_state = "improvshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/shotgun_improvised
|
||||
materials = list(MAT_METAL=250)
|
||||
pellets = 10
|
||||
variance = 25
|
||||
|
||||
/obj/item/ammo_casing/shotgun/ion
|
||||
name = "ion shell"
|
||||
@@ -319,4 +302,4 @@
|
||||
reagents.add_reagent("spore", 6)
|
||||
reagents.add_reagent("mutetoxin", 6) //;HELP OPS IN MAINT
|
||||
reagents.add_reagent("coniine", 6)
|
||||
reagents.add_reagent("sodium_thiopental", 6)
|
||||
reagents.add_reagent("sodium_thiopental", 6)
|
||||
@@ -85,7 +85,7 @@
|
||||
..()
|
||||
|
||||
/obj/item/ammo_casing/energy/c3dbullet
|
||||
projectile_type = /obj/item/projectile/bullet/midbullet3
|
||||
projectile_type = /obj/item/projectile/bullet/c3d
|
||||
select_name = "spraydown"
|
||||
fire_sound = 'sound/weapons/gunshot_smg.ogg'
|
||||
e_cost = 20
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
|
||||
|
||||
|
||||
///////////EXTERNAL MAGAZINES////////////////
|
||||
|
||||
/obj/item/ammo_box/magazine/m10mm
|
||||
@@ -72,25 +70,16 @@
|
||||
/obj/item/ammo_box/magazine/wt550m9/wtap
|
||||
name = "wt550 magazine (Armour Piercing 4.6x30mm)"
|
||||
icon_state = "46x30mmtA-20"
|
||||
ammo_type = /obj/item/ammo_casing/c46x30mmap
|
||||
ammo_type = /obj/item/ammo_casing/c46x30mm/ap
|
||||
|
||||
/obj/item/ammo_box/magazine/wt550m9/wtap/update_icon()
|
||||
..()
|
||||
icon_state = "46x30mmtA-[round(ammo_count(),4)]"
|
||||
|
||||
/obj/item/ammo_box/magazine/wt550m9/wttx
|
||||
name = "wt550 magazine (Toxin Tipped 4.6x30mm)"
|
||||
icon_state = "46x30mmtT-20"
|
||||
ammo_type = /obj/item/ammo_casing/c46x30mmtox
|
||||
|
||||
/obj/item/ammo_box/magazine/wt550m9/wttx/update_icon()
|
||||
..()
|
||||
icon_state = "46x30mmtT-[round(ammo_count(),4)]"
|
||||
|
||||
/obj/item/ammo_box/magazine/wt550m9/wtic
|
||||
name = "wt550 magazine (Incindiary 4.6x30mm)"
|
||||
icon_state = "46x30mmtI-20"
|
||||
ammo_type = /obj/item/ammo_casing/c46x30mminc
|
||||
ammo_type = /obj/item/ammo_casing/c46x30mm/inc
|
||||
|
||||
/obj/item/ammo_box/magazine/wt550m9/wtic/update_icon()
|
||||
..()
|
||||
@@ -120,15 +109,11 @@
|
||||
|
||||
/obj/item/ammo_box/magazine/smgm9mm/ap
|
||||
name = "SMG magazine (Armour Piercing 9mm)"
|
||||
ammo_type = /obj/item/ammo_casing/c9mmap
|
||||
|
||||
/obj/item/ammo_box/magazine/smgm9mm/toxin
|
||||
name = "SMG magazine (Toxin Tipped 9mm)"
|
||||
ammo_type = /obj/item/ammo_casing/c9mmtox
|
||||
ammo_type = /obj/item/ammo_casing/c9mm/ap
|
||||
|
||||
/obj/item/ammo_box/magazine/smgm9mm/fire
|
||||
name = "SMG Magazine (Incindiary 9mm)"
|
||||
ammo_type = /obj/item/ammo_casing/c9mminc
|
||||
ammo_type = /obj/item/ammo_casing/c9mm/inc
|
||||
|
||||
/obj/item/ammo_box/magazine/pistolm9mm
|
||||
name = "pistol magazine (9mm)"
|
||||
@@ -145,7 +130,7 @@
|
||||
name = "SMG magazine (.45)"
|
||||
icon_state = "c20r45-24"
|
||||
origin_tech = "combat=2"
|
||||
ammo_type = /obj/item/ammo_casing/c45nostamina
|
||||
ammo_type = /obj/item/ammo_casing/c45/nostamina
|
||||
caliber = ".45"
|
||||
max_ammo = 24
|
||||
|
||||
@@ -164,7 +149,7 @@
|
||||
name = "handgun magazine (.50ae)"
|
||||
icon_state = "50ae"
|
||||
origin_tech = "combat=2"
|
||||
ammo_type = /obj/item/ammo_casing/a50
|
||||
ammo_type = /obj/item/ammo_casing/a50AE
|
||||
caliber = ".50"
|
||||
max_ammo = 7
|
||||
multiple_sprites = 1
|
||||
@@ -212,17 +197,17 @@
|
||||
/obj/item/ammo_box/magazine/m12g/dragon
|
||||
name = "shotgun magazine (12g dragon's breath)"
|
||||
icon_state = "m12gf"
|
||||
ammo_type = /obj/item/ammo_casing/shotgun/incendiary/dragonsbreath
|
||||
ammo_type = /obj/item/ammo_casing/shotgun/dragonsbreath
|
||||
|
||||
/obj/item/ammo_box/magazine/m12g/bioterror
|
||||
name = "shotgun magazine (12g bioterror)"
|
||||
icon_state = "m12gt"
|
||||
ammo_type = /obj/item/ammo_casing/shotgun/dart/bioterror
|
||||
|
||||
/obj/item/ammo_box/magazine/m12g/breach
|
||||
name = "shotgun magazine (12g breacher slugs)"
|
||||
/obj/item/ammo_box/magazine/m12g/meteor
|
||||
name = "shotgun magazine (12g meteor slugs)"
|
||||
icon_state = "m12gbc"
|
||||
ammo_type = /obj/item/ammo_casing/shotgun/breaching
|
||||
ammo_type = /obj/item/ammo_casing/shotgun/meteorslug
|
||||
|
||||
|
||||
//// SNIPER MAGAZINES
|
||||
@@ -231,7 +216,7 @@
|
||||
name = "sniper rounds (.50)"
|
||||
icon_state = ".50mag"
|
||||
origin_tech = "combat=6;syndicate=2"
|
||||
ammo_type = /obj/item/ammo_casing/point50
|
||||
ammo_type = /obj/item/ammo_casing/p50
|
||||
max_ammo = 6
|
||||
caliber = ".50"
|
||||
|
||||
@@ -246,37 +231,17 @@
|
||||
desc = "Soporific sniper rounds, designed for happy days and dead quiet nights..."
|
||||
icon_state = "soporific"
|
||||
origin_tech = "combat=6;syndicate=3"
|
||||
ammo_type = /obj/item/ammo_casing/soporific
|
||||
ammo_type = /obj/item/ammo_casing/p50/soporific
|
||||
max_ammo = 3
|
||||
caliber = ".50"
|
||||
|
||||
/obj/item/ammo_box/magazine/sniper_rounds/haemorrhage
|
||||
name = "sniper rounds (Bleed)"
|
||||
desc = "Haemorrhage sniper rounds, leaves your target in a pool of crimson pain"
|
||||
icon_state = "haemorrhage"
|
||||
ammo_type = /obj/item/ammo_casing/haemorrhage
|
||||
max_ammo = 5
|
||||
caliber = ".50"
|
||||
|
||||
/obj/item/ammo_box/magazine/sniper_rounds/penetrator
|
||||
name = "sniper rounds (penetrator)"
|
||||
desc = "An extremely powerful round capable of passing straight through cover and anyone unfortunate enough to be behind it."
|
||||
ammo_type = /obj/item/ammo_casing/penetrator
|
||||
ammo_type = /obj/item/ammo_casing/p50/penetrator
|
||||
origin_tech = "combat=6;syndicate=3"
|
||||
max_ammo = 5
|
||||
|
||||
/obj/item/ammo_box/magazine/sniper_rounds/gang
|
||||
name = "black market sniper rounds (.50)"
|
||||
icon_state = ".50mag"
|
||||
origin_tech = "combat=6"
|
||||
ammo_type = /obj/item/ammo_casing/point50/gang
|
||||
|
||||
/obj/item/ammo_box/magazine/sniper_rounds/gang/sleeper
|
||||
name = "illegally modified tranquilizer round"
|
||||
icon_state = "soporific"
|
||||
origin_tech = "combat=6"
|
||||
ammo_type = /obj/item/ammo_casing/point50/gang/sleeper
|
||||
|
||||
//// SAW MAGAZINES
|
||||
|
||||
/obj/item/ammo_box/magazine/mm195x129
|
||||
@@ -287,11 +252,6 @@
|
||||
caliber = "mm195129"
|
||||
max_ammo = 50
|
||||
|
||||
/obj/item/ammo_box/magazine/mm195x129/bleeding
|
||||
name = "box magazine (Bleeding 1.95x129mm)"
|
||||
origin_tech = "combat=3"
|
||||
ammo_type = /obj/item/ammo_casing/mm195x129/bleeding
|
||||
|
||||
/obj/item/ammo_box/magazine/mm195x129/hollow
|
||||
name = "box magazine (Hollow-Point 1.95x129mm)"
|
||||
origin_tech = "combat=3"
|
||||
|
||||
@@ -384,11 +384,6 @@
|
||||
pin = /obj/item/device/firing_pin/implant/pindicate
|
||||
origin_tech = "combat=7;syndicate=6"
|
||||
|
||||
/obj/item/gun/ballistic/automatic/sniper_rifle/gang
|
||||
name = "black market sniper rifle"
|
||||
desc = "A long ranged weapon that does significant damage. It is well worn from years of service."
|
||||
mag_type = /obj/item/ammo_box/magazine/sniper_rounds/gang
|
||||
|
||||
// Old Semi-Auto Rifle //
|
||||
|
||||
/obj/item/gun/ballistic/automatic/surplus
|
||||
|
||||
@@ -77,7 +77,7 @@
|
||||
if(isturf(target) || istype(target, /obj/structure/))
|
||||
target.ex_act(EXPLODE_HEAVY)
|
||||
|
||||
/obj/item/projectile/beam/pulse/shot
|
||||
/obj/item/projectile/beam/pulse/shotgun
|
||||
damage = 40
|
||||
|
||||
/obj/item/projectile/beam/pulse/heavy
|
||||
|
||||
@@ -3,105 +3,238 @@
|
||||
icon_state = "bullet"
|
||||
damage = 60
|
||||
damage_type = BRUTE
|
||||
nodamage = 0
|
||||
nodamage = FALSE
|
||||
flag = "bullet"
|
||||
hitsound_wall = "ricochet"
|
||||
impact_effect_type = /obj/effect/temp_visual/impact_effect
|
||||
|
||||
/obj/item/projectile/bullet/weakbullet //beanbag, heavy stamina damage
|
||||
damage = 5
|
||||
stamina = 80
|
||||
|
||||
/obj/item/projectile/bullet/weakbullet2 //detective revolver instastuns, but multiple shots are better for keeping punks down
|
||||
damage = 15
|
||||
knockdown = 30
|
||||
stamina = 50
|
||||
|
||||
/obj/item/projectile/bullet/weakbullet3
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/bullet/toxinbullet
|
||||
damage = 15
|
||||
damage_type = TOX
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/firebullet
|
||||
damage = 10
|
||||
|
||||
/obj/item/projectile/bullet/armourpiercing
|
||||
damage = 15
|
||||
armour_penetration = 40
|
||||
|
||||
/obj/item/projectile/bullet/pellet
|
||||
name = "pellet"
|
||||
damage = 12.5
|
||||
|
||||
/obj/item/projectile/bullet/pellet/Range()
|
||||
..()
|
||||
damage += -0.75
|
||||
if(damage < 0)
|
||||
qdel(src)
|
||||
|
||||
/obj/item/projectile/bullet/pellet/weak
|
||||
damage = 6
|
||||
|
||||
/obj/item/projectile/bullet/pellet/weak/New()
|
||||
range = rand(1, 8)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/bullet/pellet/weak/on_range()
|
||||
do_sparks(1, TRUE, src)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/bullet/pellet/overload
|
||||
damage = 3
|
||||
|
||||
/obj/item/projectile/bullet/pellet/overload/New()
|
||||
range = rand(1, 10)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/bullet/pellet/overload/on_hit(atom/target, blocked = FALSE)
|
||||
..()
|
||||
explosion(target, 0, 0, 2)
|
||||
|
||||
/obj/item/projectile/bullet/pellet/overload/on_range()
|
||||
explosion(src, 0, 0, 2)
|
||||
do_sparks(3, TRUE, src)
|
||||
..()
|
||||
|
||||
/obj/item/projectile/bullet/midbullet
|
||||
/obj/item/projectile/bullet/incendiary
|
||||
damage = 20
|
||||
stamina = 65 //two round bursts from the c20r knocks people down
|
||||
var/fire_stacks = 4
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/M = target
|
||||
M.adjust_fire_stacks(fire_stacks)
|
||||
M.IgniteMob()
|
||||
|
||||
/obj/item/projectile/bullet/midbullet2
|
||||
damage = 25
|
||||
/obj/item/projectile/bullet/incendiary/Move()
|
||||
. = ..()
|
||||
var/turf/location = get_turf(src)
|
||||
if(location)
|
||||
new /obj/effect/hotspot(location)
|
||||
location.hotspot_expose(700, 50, 1)
|
||||
|
||||
/obj/item/projectile/bullet/midbullet3
|
||||
// .357 (Syndie Revolver)
|
||||
|
||||
/obj/item/projectile/bullet/a357
|
||||
name = ".357 bullet"
|
||||
damage = 60
|
||||
|
||||
// 7.62 (Nagant Rifle)
|
||||
|
||||
/obj/item/projectile/bullet/a762
|
||||
name = "7.62 bullet"
|
||||
damage = 60
|
||||
|
||||
/obj/item/projectile/bullet/a762_enchanted
|
||||
name = "enchanted 7.62 bullet"
|
||||
damage = 5
|
||||
stamina = 80
|
||||
|
||||
// 7.62x38mmR (Nagant Revolver)
|
||||
|
||||
/obj/item/projectile/bullet/n762
|
||||
name = "7.62x38mmR bullet"
|
||||
damage = 60
|
||||
|
||||
// .50AE (Desert Eagle)
|
||||
|
||||
/obj/item/projectile/bullet/a50AE
|
||||
name = ".50AE bullet"
|
||||
damage = 60
|
||||
|
||||
// .38 (Detective's Gun)
|
||||
|
||||
/obj/item/projectile/bullet/c38
|
||||
name = ".38 bullet"
|
||||
damage = 15
|
||||
knockdown = 30
|
||||
stamina = 50
|
||||
|
||||
// 10mm (Stechkin)
|
||||
|
||||
/obj/item/projectile/bullet/c10mm
|
||||
name = "10mm bullet"
|
||||
damage = 30
|
||||
|
||||
/obj/item/projectile/bullet/midbullet3/hp
|
||||
damage = 40
|
||||
armour_penetration = -50
|
||||
|
||||
/obj/item/projectile/bullet/midbullet3/ap
|
||||
/obj/item/projectile/bullet/c10mm_ap
|
||||
name = "10mm armor-piercing bullet"
|
||||
damage = 27
|
||||
armour_penetration = 40
|
||||
|
||||
/obj/item/projectile/bullet/midbullet3/fire/on_hit(atom/target, blocked = FALSE)
|
||||
if(..(target, blocked))
|
||||
var/mob/living/M = target
|
||||
M.adjust_fire_stacks(1)
|
||||
M.IgniteMob()
|
||||
/obj/item/projectile/bullet/c10mm_hp
|
||||
name = "10mm hollow-point bullet"
|
||||
damage = 40
|
||||
armour_penetration = -50
|
||||
|
||||
/obj/item/projectile/bullet/heavybullet
|
||||
/obj/item/projectile/bullet/incendiary/c10mm
|
||||
name = "10mm incendiary bullet"
|
||||
damage = 15
|
||||
fire_stacks = 2
|
||||
|
||||
// 9mm (Stechkin APS)
|
||||
|
||||
/obj/item/projectile/bullet/c9mm
|
||||
name = "9mm bullet"
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/bullet/c9mm_ap
|
||||
name = "9mm armor-piercing bullet"
|
||||
damage = 15
|
||||
armour_penetration = 40
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/c9mm
|
||||
name = "9mm incendiary bullet"
|
||||
damage = 10
|
||||
fire_stacks = 1
|
||||
|
||||
// 4.6x30mm (Autorifles)
|
||||
|
||||
/obj/item/projectile/bullet/c46x30mm
|
||||
desc = "4.6x30mm bullet"
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/bullet/c46x30mm_ap
|
||||
name = "4.6x30mm armor-piercing bullet"
|
||||
damage = 15
|
||||
armour_penetration = 40
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/c46x30mm
|
||||
name = "4.6x30mm incendiary bullet"
|
||||
damage = 10
|
||||
fire_stacks = 1
|
||||
|
||||
// .45 (M1911)
|
||||
|
||||
/obj/item/projectile/bullet/c45
|
||||
name = ".45 bullet"
|
||||
damage = 20
|
||||
stamina = 65
|
||||
|
||||
/obj/item/projectile/bullet/c45_nostamina
|
||||
name = ".45 bullet"
|
||||
damage = 20
|
||||
|
||||
// 5.56mm (M-90gl Carbine)
|
||||
|
||||
/obj/item/projectile/bullet/a556
|
||||
name = "5.56mm bullet"
|
||||
damage = 35
|
||||
|
||||
/obj/item/projectile/bullet/rpellet
|
||||
damage = 3
|
||||
stamina = 25
|
||||
// 40mm (Grenade Launcher
|
||||
|
||||
/obj/item/projectile/bullet/stunshot //taser slugs for shotguns, nothing special
|
||||
name = "stunshot"
|
||||
/obj/item/projectile/bullet/a40mm
|
||||
name ="40mm grenade"
|
||||
desc = "USE A WEEL GUN"
|
||||
icon_state= "bolter"
|
||||
damage = 60
|
||||
|
||||
/obj/item/projectile/bullet/a40mm/on_hit(atom/target, blocked = FALSE)
|
||||
..()
|
||||
explosion(target, -1, 0, 2, 1, 0, flame_range = 3)
|
||||
return TRUE
|
||||
|
||||
// .50 (Sniper)
|
||||
|
||||
/obj/item/projectile/bullet/p50
|
||||
name =".50 bullet"
|
||||
speed = 0 //360 alwaysscope.
|
||||
damage = 70
|
||||
knockdown = 100
|
||||
dismemberment = 50
|
||||
armour_penetration = 50
|
||||
var/breakthings = TRUE
|
||||
|
||||
/obj/item/projectile/bullet/p50/on_hit(atom/target, blocked = 0)
|
||||
if((blocked != 100) && (!ismob(target) && breakthings))
|
||||
target.ex_act(rand(1,2))
|
||||
return ..()
|
||||
|
||||
/obj/item/projectile/bullet/p50/soporific
|
||||
name =".50 soporific bullet"
|
||||
armour_penetration = 0
|
||||
nodamage = TRUE
|
||||
dismemberment = 0
|
||||
knockdown = 0
|
||||
breakthings = FALSE
|
||||
|
||||
/obj/item/projectile/bullet/p50/soporific/on_hit(atom/target, blocked = FALSE)
|
||||
if((blocked != 100) && isliving(target))
|
||||
var/mob/living/L = target
|
||||
L.Sleeping(400)
|
||||
return ..()
|
||||
|
||||
/obj/item/projectile/bullet/p50/penetrator
|
||||
name =".50 penetrator bullet"
|
||||
icon_state = "gauss"
|
||||
name = "penetrator round"
|
||||
damage = 60
|
||||
forcedodge = TRUE
|
||||
dismemberment = 0 //It goes through you cleanly.
|
||||
knockdown = 0
|
||||
breakthings = FALSE
|
||||
|
||||
// 1.95x129mm (SAW)
|
||||
|
||||
/obj/item/projectile/bullet/mm195x129
|
||||
name = "1.95x129mm bullet"
|
||||
damage = 45
|
||||
armour_penetration = 5
|
||||
|
||||
/obj/item/projectile/bullet/mm195x129_ap
|
||||
name = "1.95x129mm armor-piercing bullet"
|
||||
damage = 40
|
||||
armour_penetration = 75
|
||||
|
||||
/obj/item/projectile/bullet/mm195x129_hp
|
||||
name = "1.95x129mm hollow-point bullet"
|
||||
damage = 60
|
||||
armour_penetration = -60
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/mm195x129
|
||||
name = "1.95x129mm incendiary bullet"
|
||||
damage = 15
|
||||
fire_stacks = 3
|
||||
|
||||
// Shotgun
|
||||
|
||||
/obj/item/projectile/bullet/shotgun_slug
|
||||
name = "12g shotgun slug"
|
||||
damage = 60
|
||||
|
||||
/obj/item/projectile/bullet/shotgun_beanbag
|
||||
name = "beanbag slug"
|
||||
damage = 5
|
||||
stamina = 80
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/shotgun
|
||||
name = "incendiary slug"
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/shotgun/dragonsbreath
|
||||
name = "dragonsbreath pellet"
|
||||
damage = 5
|
||||
|
||||
/obj/item/projectile/bullet/shotgun_stunslug
|
||||
name = "stunslug"
|
||||
damage = 5
|
||||
knockdown = 100
|
||||
stutter = 5
|
||||
@@ -110,47 +243,90 @@
|
||||
icon_state = "spark"
|
||||
color = "#FFFF00"
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/M = target
|
||||
M.adjust_fire_stacks(4)
|
||||
M.IgniteMob()
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/shell
|
||||
name = "incendiary slug"
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/shell/Move()
|
||||
..()
|
||||
var/turf/location = get_turf(src)
|
||||
if(location)
|
||||
new /obj/effect/hotspot(location)
|
||||
location.hotspot_expose(700, 50, 1)
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/shell/dragonsbreath
|
||||
name = "dragonsbreath round"
|
||||
damage = 5
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/meteorshot
|
||||
name = "meteor"
|
||||
/obj/item/projectile/bullet/shotgun_meteorslug
|
||||
name = "meteorslug"
|
||||
icon = 'icons/obj/meteor.dmi'
|
||||
icon_state = "dust"
|
||||
damage = 30
|
||||
knockdown = 160
|
||||
damage = 20
|
||||
knockdown = 80
|
||||
hitsound = 'sound/effects/meteorimpact.ogg'
|
||||
|
||||
/obj/item/projectile/bullet/meteorshot/weak
|
||||
damage = 10
|
||||
knockdown = 80
|
||||
/obj/item/projectile/bullet/shotgun_meteorslug/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if(ismovableatom(target))
|
||||
var/atom/movable/M = target
|
||||
var/atom/throw_target = get_edge_target_turf(M, get_dir(src, get_step_away(M, src)))
|
||||
M.throw_at(throw_target, 3, 2)
|
||||
|
||||
/obj/item/projectile/bullet/shotgun_meteorslug/Initialize()
|
||||
. = ..()
|
||||
SpinAnimation()
|
||||
|
||||
/obj/item/projectile/bullet/shotgun_frag12
|
||||
name ="frag12 slug"
|
||||
damage = 25
|
||||
knockdown = 50
|
||||
|
||||
/obj/item/projectile/bullet/shotgun_frag12/on_hit(atom/target, blocked = FALSE)
|
||||
..()
|
||||
explosion(target, -1, 0, 1)
|
||||
return TRUE
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun_buckshot
|
||||
name = "buckshot pellet"
|
||||
damage = 12.5
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun_rubbershot
|
||||
damage = 3
|
||||
stamina = 25
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun_improvised
|
||||
damage = 6
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun_improvised/Initialize()
|
||||
. = ..()
|
||||
range = rand(1, 8)
|
||||
|
||||
/obj/item/projectile/bullet/pellet/shotgun_improvised/on_range()
|
||||
do_sparks(1, TRUE, src)
|
||||
..()
|
||||
|
||||
// Scattershot
|
||||
|
||||
/obj/item/projectile/bullet/scattershot
|
||||
damage = 20
|
||||
stamina = 65
|
||||
|
||||
// LMD (exosuits)
|
||||
|
||||
/obj/item/projectile/bullet/lmg
|
||||
damage = 20
|
||||
|
||||
// Turrets
|
||||
|
||||
/obj/item/projectile/bullet/manned_turret
|
||||
damage = 20
|
||||
|
||||
/obj/item/projectile/bullet/syndicate_turret
|
||||
damage = 20
|
||||
|
||||
// FNX-99 (Mechs)
|
||||
|
||||
/obj/item/projectile/bullet/incendiary/fnx99
|
||||
damage = 20
|
||||
|
||||
// C3D (Borgs)
|
||||
|
||||
/obj/item/projectile/bullet/c3d
|
||||
damage = 20
|
||||
|
||||
// Honker
|
||||
|
||||
/obj/item/projectile/bullet/honker
|
||||
damage = 0
|
||||
knockdown = 60
|
||||
forcedodge = 1
|
||||
nodamage = 1
|
||||
forcedodge = TRUE
|
||||
nodamage = TRUE
|
||||
hitsound = 'sound/items/bikehorn.ogg'
|
||||
icon = 'icons/obj/hydroponics/harvest.dmi'
|
||||
icon_state = "banana"
|
||||
@@ -160,17 +336,7 @@
|
||||
..()
|
||||
SpinAnimation()
|
||||
|
||||
/obj/item/projectile/bullet/meteorshot/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if(ismovableatom(target))
|
||||
var/atom/movable/M = target
|
||||
var/atom/throw_target = get_edge_target_turf(M, get_dir(src, get_step_away(M, src)))
|
||||
M.throw_at(throw_target, 3, 2)
|
||||
|
||||
/obj/item/projectile/bullet/meteorshot/New()
|
||||
..()
|
||||
SpinAnimation()
|
||||
|
||||
// Mime
|
||||
|
||||
/obj/item/projectile/bullet/mime
|
||||
damage = 20
|
||||
@@ -181,6 +347,7 @@
|
||||
var/mob/living/carbon/M = target
|
||||
M.silent = max(M.silent, 10)
|
||||
|
||||
// Darts
|
||||
|
||||
/obj/item/projectile/bullet/dart
|
||||
name = "dart"
|
||||
@@ -210,7 +377,7 @@
|
||||
..(target, blocked)
|
||||
reagents.set_reacting(TRUE)
|
||||
reagents.handle_reactions()
|
||||
return 1
|
||||
return TRUE
|
||||
|
||||
/obj/item/projectile/bullet/dart/metalfoam/New()
|
||||
..()
|
||||
@@ -223,18 +390,7 @@
|
||||
name = "syringe"
|
||||
icon_state = "syringeproj"
|
||||
|
||||
/obj/item/projectile/bullet/neurotoxin
|
||||
name = "neurotoxin spit"
|
||||
icon_state = "neurotoxin"
|
||||
damage = 5
|
||||
damage_type = TOX
|
||||
knockdown = 100
|
||||
|
||||
/obj/item/projectile/bullet/neurotoxin/on_hit(atom/target, blocked = FALSE)
|
||||
if(isalien(target))
|
||||
knockdown = 0
|
||||
nodamage = 1
|
||||
. = ..() // Execute the rest of the code.
|
||||
// DNA injector
|
||||
|
||||
/obj/item/projectile/bullet/dnainjector
|
||||
name = "\improper DNA injector"
|
||||
@@ -261,121 +417,3 @@
|
||||
QDEL_NULL(injector)
|
||||
return ..()
|
||||
|
||||
//// SNIPER BULLETS
|
||||
|
||||
/obj/item/projectile/bullet/sniper
|
||||
speed = 0 //360 alwaysscope.
|
||||
damage = 70
|
||||
knockdown = 100
|
||||
dismemberment = 50
|
||||
armour_penetration = 50
|
||||
var/breakthings = TRUE
|
||||
|
||||
/obj/item/projectile/bullet/sniper/on_hit(atom/target, blocked = FALSE)
|
||||
if((blocked != 100) && (!ismob(target) && breakthings))
|
||||
target.ex_act(rand(1,2))
|
||||
return ..()
|
||||
|
||||
/obj/item/projectile/bullet/sniper/gang
|
||||
damage = 55
|
||||
knockdown = 20
|
||||
dismemberment = 15
|
||||
armour_penetration = 25
|
||||
|
||||
/obj/item/projectile/bullet/sniper/gang/sleeper
|
||||
nodamage = 1
|
||||
knockdown = 0
|
||||
dismemberment = 0
|
||||
breakthings = FALSE
|
||||
|
||||
/obj/item/projectile/bullet/sniper/gang/sleeper/on_hit(atom/target, blocked = FALSE)
|
||||
if((blocked != 100) && isliving(target))
|
||||
var/mob/living/L = target
|
||||
L.blur_eyes(8)
|
||||
if(L.staminaloss >= 40)
|
||||
L.Sleeping(400)
|
||||
else
|
||||
L.adjustStaminaLoss(55)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/bullet/sniper/soporific
|
||||
armour_penetration = 0
|
||||
nodamage = 1
|
||||
dismemberment = 0
|
||||
knockdown = 0
|
||||
breakthings = FALSE
|
||||
|
||||
/obj/item/projectile/bullet/sniper/soporific/on_hit(atom/target, blocked = FALSE)
|
||||
if((blocked != 100) && isliving(target))
|
||||
var/mob/living/L = target
|
||||
L.Sleeping(400)
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/sniper/haemorrhage
|
||||
armour_penetration = 15
|
||||
damage = 15
|
||||
dismemberment = 0
|
||||
knockdown = 0
|
||||
breakthings = FALSE
|
||||
|
||||
/obj/item/projectile/bullet/sniper/haemorrhage/on_hit(atom/target, blocked = FALSE)
|
||||
if((blocked != 100) && iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
C.bleed(100)
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/sniper/penetrator
|
||||
icon_state = "gauss"
|
||||
name = "penetrator round"
|
||||
damage = 60
|
||||
forcedodge = 1
|
||||
dismemberment = 0 //It goes through you cleanly.
|
||||
knockdown = 0
|
||||
breakthings = FALSE
|
||||
|
||||
|
||||
|
||||
//// SAW BULLETS
|
||||
|
||||
|
||||
/obj/item/projectile/bullet/saw
|
||||
damage = 45
|
||||
armour_penetration = 5
|
||||
|
||||
/obj/item/projectile/bullet/saw/bleeding
|
||||
damage = 20
|
||||
armour_penetration = 0
|
||||
|
||||
/obj/item/projectile/bullet/saw/bleeding/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if((blocked != 100) && iscarbon(target))
|
||||
var/mob/living/carbon/C = target
|
||||
C.bleed(35)
|
||||
|
||||
/obj/item/projectile/bullet/saw/hollow
|
||||
damage = 60
|
||||
armour_penetration = -60
|
||||
|
||||
/obj/item/projectile/bullet/saw/ap
|
||||
damage = 40
|
||||
armour_penetration = 75
|
||||
|
||||
/obj/item/projectile/bullet/saw/incen
|
||||
damage = 7
|
||||
armour_penetration = 0
|
||||
|
||||
/obj/item/projectile/bullet/saw/incen/Move()
|
||||
..()
|
||||
var/turf/location = get_turf(src)
|
||||
if(location)
|
||||
new /obj/effect/hotspot(location)
|
||||
location.hotspot_expose(700, 50, 1)
|
||||
|
||||
/obj/item/projectile/bullet/saw/incen/on_hit(atom/target, blocked = FALSE)
|
||||
. = ..()
|
||||
if(iscarbon(target))
|
||||
var/mob/living/carbon/M = target
|
||||
M.adjust_fire_stacks(3)
|
||||
M.IgniteMob()
|
||||
|
||||
@@ -32,17 +32,6 @@
|
||||
explosion(target, -1, 0, 2)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/bullet/a40mm
|
||||
name ="40mm grenade"
|
||||
desc = "USE A WEEL GUN"
|
||||
icon_state= "bolter"
|
||||
damage = 60
|
||||
|
||||
/obj/item/projectile/bullet/a40mm/on_hit(atom/target, blocked = FALSE)
|
||||
..()
|
||||
explosion(target, -1, 0, 2, 1, 0, flame_range = 3)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/bullet/a84mm
|
||||
name ="anti-armour rocket"
|
||||
desc = "USE A WEEL GUN"
|
||||
@@ -184,16 +173,6 @@
|
||||
qdel(src)
|
||||
gun.create_portal(src, get_turf(src))
|
||||
|
||||
/obj/item/projectile/bullet/frag12
|
||||
name ="explosive slug"
|
||||
damage = 25
|
||||
knockdown = 50
|
||||
|
||||
/obj/item/projectile/bullet/frag12/on_hit(atom/target, blocked = FALSE)
|
||||
..()
|
||||
explosion(target, -1, 0, 1)
|
||||
return 1
|
||||
|
||||
/obj/item/projectile/plasma
|
||||
name = "plasma blast"
|
||||
icon_state = "plasmacutter"
|
||||
@@ -616,3 +595,19 @@
|
||||
|
||||
/obj/item/projectile/hallucination/death/hal_apply_effect()
|
||||
new /datum/hallucination/death(hal_target, TRUE)
|
||||
|
||||
// Neurotoxin
|
||||
|
||||
/obj/item/projectile/bullet/neurotoxin
|
||||
name = "neurotoxin spit"
|
||||
icon_state = "neurotoxin"
|
||||
damage = 5
|
||||
damage_type = TOX
|
||||
knockdown = 100
|
||||
|
||||
/obj/item/projectile/bullet/neurotoxin/on_hit(atom/target, blocked = FALSE)
|
||||
if(isalien(target))
|
||||
knockdown = 0
|
||||
nodamage = TRUE
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -203,13 +203,6 @@
|
||||
materials = list(MAT_METAL = 6000, MAT_SILVER = 600, MAT_GLASS = 1000)
|
||||
build_path = /obj/item/ammo_box/magazine/wt550m9/wtic
|
||||
|
||||
/datum/design/mag_oldsmg/tx_mag
|
||||
name = "WT-550 Auto Gun Uranium Magazine (4.6x30mm TX)"
|
||||
desc = "A 20 round uranium tipped magazine for the out of date security WT-550 Auto Rifle"
|
||||
id = "mag_oldsmg_tx"
|
||||
materials = list(MAT_METAL = 6000, MAT_SILVER = 600, MAT_URANIUM = 2000)
|
||||
build_path = /obj/item/ammo_box/magazine/wt550m9/wttx
|
||||
|
||||
/datum/design/stunshell
|
||||
name = "Stun Shell"
|
||||
desc = "A stunning shell for a shotgun."
|
||||
|
||||
@@ -1,140 +1,280 @@
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall
|
||||
name = "Invisible Wall"
|
||||
desc = "The mime's performance transmutates into physical reality."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
summon_type = list(/obj/effect/forcefield/mime)
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='notice'>You form a wall in front of yourself.</span>"
|
||||
summon_lifespan = 300
|
||||
charge_max = 300
|
||||
clothes_req = 0
|
||||
range = 0
|
||||
cast_sound = null
|
||||
human_req = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall/Click()
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> looks as if a wall is in front of [usr.p_them()]."
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak
|
||||
name = "Speech"
|
||||
desc = "Make or break a vow of silence."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
clothes_req = 0
|
||||
human_req = 1
|
||||
charge_max = 3000
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak/Click()
|
||||
if(!usr)
|
||||
return
|
||||
if(!ishuman(usr))
|
||||
return
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if(H.mind.miming)
|
||||
still_recharging_msg = "<span class='warning'>You can't break your vow of silence that fast!</span>"
|
||||
else
|
||||
still_recharging_msg = "<span class='warning'>You'll have to wait before you can give your vow of silence again!</span>"
|
||||
..()
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak/cast(list/targets,mob/user = usr)
|
||||
for(var/mob/living/carbon/human/H in targets)
|
||||
H.mind.miming=!H.mind.miming
|
||||
if(H.mind.miming)
|
||||
to_chat(H, "<span class='notice'>You make a vow of silence.</span>")
|
||||
else
|
||||
to_chat(H, "<span class='notice'>You break your vow of silence.</span>")
|
||||
|
||||
// These spells can only be gotten from the "Guide for Advanced Mimery series" for Mime Traitors.
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/forcewall/mime
|
||||
name = "Invisible Blockade"
|
||||
desc = "Form an invisible three tile wide blockade."
|
||||
wall_type = /obj/effect/forcefield/mime/advanced
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='notice'>You form a blockade in front of yourself.</span>"
|
||||
charge_max = 600
|
||||
sound = null
|
||||
clothes_req = 0
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/forcewall/mime/Click()
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> looks as if a blockade is in front of [usr.p_them()]."
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
/obj/effect/proc_holder/spell/aimed/finger_guns
|
||||
name = "Finger Guns"
|
||||
desc = "Shoot a mimed bullet from your fingers that stuns and does some damage."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
charge_max = 300
|
||||
clothes_req = 0
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='dangers'>You fire your finger gun!</span>"
|
||||
range = 20
|
||||
projectile_type = /obj/item/projectile/bullet/weakbullet2
|
||||
projectile_amount = 3
|
||||
sound = null
|
||||
active_msg = "You draw your fingers!"
|
||||
deactive_msg = "You put your fingers at ease. Another time."
|
||||
active = FALSE
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
base_icon_state = "mime"
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/aimed/finger_guns/Click()
|
||||
var/mob/living/carbon/human/owner = usr
|
||||
if(owner.incapacitated())
|
||||
to_chat(owner, "<span class='warning'>You can't properly point your fingers while incapacitated.</span>")
|
||||
return
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> fires [usr.p_their()] finger gun!"
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/spellbook/oneuse/mimery_blockade
|
||||
spell = /obj/effect/proc_holder/spell/targeted/forcewall/mime
|
||||
spellname = ""
|
||||
name = "Guide to Advanced Mimery Vol 1"
|
||||
desc = "The pages don't make any sound when turned."
|
||||
icon_state ="bookmime"
|
||||
|
||||
/obj/item/spellbook/oneuse/mimery_guns
|
||||
spell = /obj/effect/proc_holder/spell/aimed/finger_guns
|
||||
spellname = ""
|
||||
name = "Guide to Advanced Mimery Vol 2"
|
||||
desc = "There aren't any words written..."
|
||||
icon_state ="bookmime"
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall
|
||||
name = "Invisible Wall"
|
||||
desc = "The mime's performance transmutates into physical reality."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
summon_type = list(/obj/effect/forcefield/mime)
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='notice'>You form a wall in front of yourself.</span>"
|
||||
summon_lifespan = 300
|
||||
charge_max = 300
|
||||
clothes_req = 0
|
||||
range = 0
|
||||
cast_sound = null
|
||||
human_req = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall/Click()
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> looks as if a wall is in front of [usr.p_them()]."
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak
|
||||
name = "Speech"
|
||||
desc = "Make or break a vow of silence."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
clothes_req = 0
|
||||
human_req = 1
|
||||
charge_max = 3000
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak/Click()
|
||||
if(!usr)
|
||||
return
|
||||
if(!ishuman(usr))
|
||||
return
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if(H.mind.miming)
|
||||
still_recharging_msg = "<span class='warning'>You can't break your vow of silence that fast!</span>"
|
||||
else
|
||||
still_recharging_msg = "<span class='warning'>You'll have to wait before you can give your vow of silence again!</span>"
|
||||
..()
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak/cast(list/targets,mob/user = usr)
|
||||
for(var/mob/living/carbon/human/H in targets)
|
||||
H.mind.miming=!H.mind.miming
|
||||
if(H.mind.miming)
|
||||
to_chat(H, "<span class='notice'>You make a vow of silence.</span>")
|
||||
else
|
||||
to_chat(H, "<span class='notice'>You break your vow of silence.</span>")
|
||||
|
||||
// These spells can only be gotten from the "Guide for Advanced Mimery series" for Mime Traitors.
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/forcewall/mime
|
||||
name = "Invisible Blockade"
|
||||
desc = "Form an invisible three tile wide blockade."
|
||||
wall_type = /obj/effect/forcefield/mime/advanced
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='notice'>You form a blockade in front of yourself.</span>"
|
||||
charge_max = 600
|
||||
sound = null
|
||||
clothes_req = 0
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/forcewall/mime/Click()
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> looks as if a blockade is in front of [usr.p_them()]."
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
/obj/effect/proc_holder/spell/aimed/finger_guns
|
||||
name = "Finger Guns"
|
||||
desc = "Shoot a mimed bullet from your fingers that stuns and does some damage."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
charge_max = 300
|
||||
clothes_req = 0
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='dangers'>You fire your finger gun!</span>"
|
||||
range = 20
|
||||
projectile_type = /obj/item/projectile/bullet/mime
|
||||
projectile_amount = 3
|
||||
sound = null
|
||||
active_msg = "You draw your fingers!"
|
||||
deactive_msg = "You put your fingers at ease. Another time."
|
||||
active = FALSE
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
base_icon_state = "mime"
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/aimed/finger_guns/Click()
|
||||
var/mob/living/carbon/human/owner = usr
|
||||
if(owner.incapacitated())
|
||||
to_chat(owner, "<span class='warning'>You can't properly point your fingers while incapacitated.</span>")
|
||||
return
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> fires [usr.p_their()] finger gun!"
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/spellbook/oneuse/mimery_blockade
|
||||
spell = /obj/effect/proc_holder/spell/targeted/forcewall/mime
|
||||
spellname = ""
|
||||
name = "Guide to Advanced Mimery Vol 1"
|
||||
desc = "The pages don't make any sound when turned."
|
||||
icon_state ="bookmime"
|
||||
|
||||
/obj/item/spellbook/oneuse/mimery_guns
|
||||
spell = /obj/effect/proc_holder/spell/aimed/finger_guns
|
||||
spellname = ""
|
||||
name = "Guide to Advanced Mimery Vol 2"
|
||||
desc = "There aren't any words written..."
|
||||
icon_state ="bookmime"
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall
|
||||
name = "Invisible Wall"
|
||||
desc = "The mime's performance transmutates into physical reality."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
summon_type = list(/obj/effect/forcefield/mime)
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='notice'>You form a wall in front of yourself.</span>"
|
||||
summon_lifespan = 300
|
||||
charge_max = 300
|
||||
clothes_req = 0
|
||||
range = 0
|
||||
cast_sound = null
|
||||
human_req = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/aoe_turf/conjure/mime_wall/Click()
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> looks as if a wall is in front of [usr.p_them()]."
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak
|
||||
name = "Speech"
|
||||
desc = "Make or break a vow of silence."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
clothes_req = 0
|
||||
human_req = 1
|
||||
charge_max = 3000
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak/Click()
|
||||
if(!usr)
|
||||
return
|
||||
if(!ishuman(usr))
|
||||
return
|
||||
var/mob/living/carbon/human/H = usr
|
||||
if(H.mind.miming)
|
||||
still_recharging_msg = "<span class='warning'>You can't break your vow of silence that fast!</span>"
|
||||
else
|
||||
still_recharging_msg = "<span class='warning'>You'll have to wait before you can give your vow of silence again!</span>"
|
||||
..()
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/mime/speak/cast(list/targets,mob/user = usr)
|
||||
for(var/mob/living/carbon/human/H in targets)
|
||||
H.mind.miming=!H.mind.miming
|
||||
if(H.mind.miming)
|
||||
to_chat(H, "<span class='notice'>You make a vow of silence.</span>")
|
||||
else
|
||||
to_chat(H, "<span class='notice'>You break your vow of silence.</span>")
|
||||
|
||||
// These spells can only be gotten from the "Guide for Advanced Mimery series" for Mime Traitors.
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/forcewall/mime
|
||||
name = "Invisible Blockade"
|
||||
desc = "Form an invisible three tile wide blockade."
|
||||
wall_type = /obj/effect/forcefield/mime/advanced
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='notice'>You form a blockade in front of yourself.</span>"
|
||||
charge_max = 600
|
||||
sound = null
|
||||
clothes_req = 0
|
||||
range = -1
|
||||
include_user = 1
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
|
||||
/obj/effect/proc_holder/spell/targeted/forcewall/mime/Click()
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> looks as if a blockade is in front of [usr.p_them()]."
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
/obj/effect/proc_holder/spell/aimed/finger_guns
|
||||
name = "Finger Guns"
|
||||
desc = "Shoot a mimed bullet from your fingers that stuns and does some damage."
|
||||
school = "mime"
|
||||
panel = "Mime"
|
||||
charge_max = 300
|
||||
clothes_req = 0
|
||||
invocation_type = "emote"
|
||||
invocation_emote_self = "<span class='dangers'>You fire your finger gun!</span>"
|
||||
range = 20
|
||||
projectile_type = /obj/item/projectile/bullet/mime
|
||||
projectile_amount = 3
|
||||
sound = null
|
||||
active_msg = "You draw your fingers!"
|
||||
deactive_msg = "You put your fingers at ease. Another time."
|
||||
active = FALSE
|
||||
|
||||
action_icon_state = "mime"
|
||||
action_background_icon_state = "bg_mime"
|
||||
base_icon_state = "mime"
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/aimed/finger_guns/Click()
|
||||
var/mob/living/carbon/human/owner = usr
|
||||
if(owner.incapacitated())
|
||||
to_chat(owner, "<span class='warning'>You can't properly point your fingers while incapacitated.</span>")
|
||||
return
|
||||
if(usr && usr.mind)
|
||||
if(!usr.mind.miming)
|
||||
to_chat(usr, "<span class='notice'>You must dedicate yourself to silence first.</span>")
|
||||
return
|
||||
invocation = "<B>[usr.real_name]</B> fires [usr.p_their()] finger gun!"
|
||||
else
|
||||
invocation_type ="none"
|
||||
..()
|
||||
|
||||
|
||||
/obj/item/spellbook/oneuse/mimery_blockade
|
||||
spell = /obj/effect/proc_holder/spell/targeted/forcewall/mime
|
||||
spellname = ""
|
||||
name = "Guide to Advanced Mimery Vol 1"
|
||||
desc = "The pages don't make any sound when turned."
|
||||
icon_state ="bookmime"
|
||||
|
||||
/obj/item/spellbook/oneuse/mimery_guns
|
||||
spell = /obj/effect/proc_holder/spell/aimed/finger_guns
|
||||
spellname = ""
|
||||
name = "Guide to Advanced Mimery Vol 2"
|
||||
desc = "There aren't any words written..."
|
||||
icon_state ="bookmime"
|
||||
|
||||
@@ -165,7 +165,7 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
|
||||
/datum/uplink_item/nukeoffer/sniper
|
||||
name = "Sniper bundle"
|
||||
desc = "Elegant and refined: Contains a collapsed sniper rifle in an expensive carrying case, a hollow-point \
|
||||
haemorrhage magazine, a soporific knockout magazine, a free surplus supressor, and a worn out suit and tie."
|
||||
a soporific knockout magazine, a free surplus supressor, and a worn out suit and tie."
|
||||
item = /obj/item/storage/briefcase/sniperbundle
|
||||
cost = 20 // normally 26
|
||||
|
||||
@@ -449,11 +449,11 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
|
||||
item = /obj/item/ammo_box/magazine/m12g/dragon
|
||||
include_modes = list(/datum/game_mode/nuclear)
|
||||
|
||||
/datum/uplink_item/ammo/shotgun/breach
|
||||
name = "12g Breaching Shells"
|
||||
desc = "An economic variant of the CMC meteorshot slugs, not as effective for knocking \
|
||||
down targets, but still great for blasting airlocks off their frames."
|
||||
item = /obj/item/ammo_box/magazine/m12g/breach
|
||||
/datum/uplink_item/ammo/shotgun/meteor
|
||||
name = "12g Meteorslug Shells"
|
||||
desc = "An alternative 8-round meteorslug magazine for use in the Bulldog shotgun. \
|
||||
Great for blasting airlocks off their frames."
|
||||
item = /obj/item/ammo_box/magazine/m12g/meteor
|
||||
include_modes = list(/datum/game_mode/nuclear)
|
||||
|
||||
/datum/uplink_item/ammo/shotgun/bag
|
||||
@@ -488,12 +488,6 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
|
||||
By the time you need to use this, you'll already be on a pile of corpses."
|
||||
item = /obj/item/ammo_box/magazine/mm195x129
|
||||
|
||||
/datum/uplink_item/ammo/machinegun/bleeding
|
||||
name = "1.95x129mm (Bleeding) Box Magazine"
|
||||
desc = "A 50-round magazine of 1.95x129mm ammunition for use in the L6 SAW; equipped with special properties \
|
||||
to induce internal bleeding on targets."
|
||||
item = /obj/item/ammo_box/magazine/mm195x129/bleeding
|
||||
|
||||
/datum/uplink_item/ammo/machinegun/hollow
|
||||
name = "1.95x129mm (Hollow-Point) Box Magazine"
|
||||
desc = "A 50-round magazine of 1.95x129mm ammunition for use in the L6 SAW; equipped with hollow-point tips to help \
|
||||
@@ -527,12 +521,6 @@ GLOBAL_LIST_EMPTY(uplink_items) // Global list so we only initialize this once.
|
||||
item = /obj/item/ammo_box/magazine/sniper_rounds/soporific
|
||||
cost = 6
|
||||
|
||||
/datum/uplink_item/ammo/sniper/haemorrhage
|
||||
name = ".50 Haemorrhage Magazine"
|
||||
desc = "A 5-round magazine of haemorrhage ammo designed for use with .50 sniper rifles; causes heavy bleeding \
|
||||
in the target."
|
||||
item = /obj/item/ammo_box/magazine/sniper_rounds/haemorrhage
|
||||
|
||||
/datum/uplink_item/ammo/sniper/penetrator
|
||||
name = ".50 Penetrator Magazine"
|
||||
desc = "A 5-round magazine of penetrator ammo designed for use with .50 sniper rifles. \
|
||||
|
||||
Reference in New Issue
Block a user