Beginnings of Combat Changes: Ranged Weaponry (#17075)

This commit is contained in:
Fox McCloud
2021-11-11 21:24:02 +01:00
committed by GitHub
parent 6ece7187a0
commit 06df88706f
35 changed files with 128 additions and 289 deletions
@@ -33,16 +33,16 @@
desc = "A .38 bullet casing."
caliber = "38"
icon_state = "r-casing"
projectile_type = /obj/item/projectile/bullet/weakbullet2
projectile_type = /obj/item/projectile/bullet/c38
muzzle_flash_strength = MUZZLE_FLASH_STRENGTH_NORMAL
muzzle_flash_range = MUZZLE_FLASH_RANGE_NORMAL
/obj/item/ammo_casing/c38/invisible
projectile_type = /obj/item/projectile/bullet/weakbullet2/invisible
projectile_type = /obj/item/projectile/bullet/mime
muzzle_flash_effect = null // invisible eh
/obj/item/ammo_casing/c38/invisible/fake
projectile_type = /obj/item/projectile/bullet/weakbullet2/invisible/fake
projectile_type = /obj/item/projectile/bullet/mime/fake
/obj/item/ammo_casing/c10mm
desc = "A 10mm bullet casing."
@@ -206,18 +206,12 @@
muzzle_flash_color = "#FFFF00"
/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
/obj/item/ammo_casing/shotgun/pulseslug
name = "pulse slug"
desc = "A delicate device which can be loaded into a shotgun. The primer acts as a button which triggers the gain medium and fires a powerful \
+9 -23
View File
@@ -22,8 +22,8 @@
e_cost = 83
select_name = "kill"
/obj/item/ammo_casing/energy/laser/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons
e_cost = 100
/obj/item/ammo_casing/energy/laser/hos
e_cost = 120
/obj/item/ammo_casing/energy/laser/practice
projectile_type = /obj/item/projectile/beam/practice
@@ -102,22 +102,18 @@
select_name = "stun"
fire_sound = 'sound/weapons/taser.ogg'
e_cost = 200
delay = 15
harmful = FALSE
/obj/item/ammo_casing/energy/electrode/gun
fire_sound = 'sound/weapons/gunshots/gunshot.ogg'
e_cost = 100
/obj/item/ammo_casing/energy/electrode/hos //allows balancing of HoS and blueshit guns seperately from other energy weapons
e_cost = 200
/obj/item/ammo_casing/energy/ion
projectile_type = /obj/item/projectile/ion
muzzle_flash_color = LIGHT_COLOR_LIGHTBLUE
select_name = "ion"
fire_sound = 'sound/weapons/ionrifle.ogg'
/obj/item/ammo_casing/energy/ion/hos
projectile_type = /obj/item/projectile/ion/weak
e_cost = 300
/obj/item/ammo_casing/energy/declone
projectile_type = /obj/item/projectile/energy/declone
muzzle_flash_color = LIGHT_COLOR_GREEN
@@ -172,6 +168,9 @@
/obj/item/ammo_casing/energy/disabler/cyborg //seperate balancing for cyborg, again
e_cost = 250
/obj/item/ammo_casing/energy/disabler/hos
e_cost = 60
/obj/item/ammo_casing/energy/plasma
projectile_type = /obj/item/projectile/plasma
muzzle_flash_color = LIGHT_COLOR_PURPLE
@@ -216,12 +215,6 @@
projectile_type = /obj/item/projectile/energy/bolt/large
select_name = "heavy bolt"
/obj/item/ammo_casing/energy/dart
projectile_type = /obj/item/projectile/energy/dart
fire_sound = 'sound/weapons/genhit.ogg'
e_cost = 500
select_name = "toxic dart"
/obj/item/ammo_casing/energy/instakill
projectile_type = /obj/item/projectile/beam/instakill
muzzle_flash_color = LIGHT_COLOR_PURPLE
@@ -264,13 +257,6 @@
fire_sound = 'sound/weapons/gunshots/gunshot_smg.ogg'
select_name = "clown"
/obj/item/ammo_casing/energy/sniper
projectile_type = /obj/item/projectile/beam/sniper
muzzle_flash_color = LIGHT_COLOR_PINK
fire_sound = 'sound/weapons/marauder.ogg'
delay = 50
select_name = "snipe"
/obj/item/ammo_casing/energy/emitter
projectile_type = /obj/item/projectile/beam/emitter
muzzle_flash_color = LIGHT_COLOR_GREEN
@@ -64,6 +64,7 @@
/obj/item/ammo_box/magazine/internal/cylinder/rev38/invisible
name = "finger gun cylinder"
desc = "Wait, what?"
max_ammo = 3
ammo_type = /obj/item/ammo_casing/c38/invisible
/obj/item/ammo_box/magazine/internal/cylinder/rev38/invisible/fake
@@ -407,10 +408,10 @@
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
/obj/item/ammo_box/magazine/m12g/XtrLrg
name = "\improper XL shotgun magazine (12g slugs)"
@@ -51,22 +51,24 @@
/obj/item/gun/energy/gun/hos
name = "\improper X-01 MultiPhase Energy Gun"
desc = "This is an expensive, modern recreation of an antique laser gun. This gun has several unique firemodes, but lacks the ability to recharge over time."
cell_type = /obj/item/stock_parts/cell/hos_gun
icon_state = "hoslaser"
origin_tech = null
force = 10
ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/disabler)
ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos, /obj/item/ammo_casing/energy/ion/hos)
ammo_x_offset = 4
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
shaded_charge = FALSE
can_holster = TRUE
/obj/item/gun/energy/gun/blueshield
name = "advanced stun revolver"
desc = "An advanced stun revolver with the capacity to shoot both electrodes and lasers."
name = "advanced energy revolver"
desc = "An advanced energy revolver with the capacity to shoot both disablers and lasers."
cell_type = /obj/item/stock_parts/cell/hos_gun
icon_state = "bsgun"
item_state = "gun"
force = 7
ammo_type = list(/obj/item/ammo_casing/energy/electrode/hos, /obj/item/ammo_casing/energy/laser/hos)
ammo_type = list(/obj/item/ammo_casing/energy/disabler/hos, /obj/item/ammo_casing/energy/laser/hos)
ammo_x_offset = 1
shaded_charge = TRUE
can_holster = TRUE
@@ -100,7 +102,7 @@
charge_delay = 5
can_charge = 0
ammo_x_offset = 1
ammo_type = list(/obj/item/ammo_casing/energy/electrode, /obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler)
ammo_type = list(/obj/item/ammo_casing/energy/laser, /obj/item/ammo_casing/energy/disabler)
selfcharge = 1
shaded_charge = FALSE
@@ -315,26 +315,6 @@
shaded_charge = 1
can_holster = TRUE
// Energy Sniper //
/obj/item/gun/energy/sniperrifle
name = "\improper L.W.A.P. sniper rifle"
desc = "A rifle constructed of lightweight materials, fitted with a SMART aiming-system scope."
icon_state = "esniper"
origin_tech = "combat=6;materials=5;powerstorage=4"
ammo_type = list(/obj/item/ammo_casing/energy/sniper)
item_state = null
weapon_weight = WEAPON_HEAVY
slot_flags = SLOT_BACK
w_class = WEIGHT_CLASS_BULKY
can_holster = FALSE
zoomable = TRUE
zoom_amt = 7 //Long range, enough to see in front of you, but no tiles behind you.
shaded_charge = 1
/obj/item/gun/energy/sniperrifle/detailed_examine()
return "This is an energy weapon. Most energy weapons can fire through windows harmlessly. To recharge this weapon, use a weapon recharger. \
To use the scope, use the appropriate verb in the object tab."
/obj/item/gun/energy/bsg
name = "\improper B.S.G"
desc = "The Blue Space Gun. Uses a flux anomaly core and a bluespace crystal to produce destructive bluespace energy blasts, inspired by Nanotrasen's BSA division."
+4 -1
View File
@@ -52,7 +52,10 @@
item_state = null
origin_tech = "combat=3"
ammo_type = list(/obj/item/ammo_casing/energy/disabler)
ammo_x_offset = 3
ammo_x_offset = 2
can_flashlight = TRUE
flight_x_offset = 15
flight_y_offset = 10
can_holster = TRUE
/obj/item/gun/energy/disabler/cyborg
@@ -117,16 +117,6 @@
suit_types = list(/obj/item/clothing/suit/redtag)
light_color = LIGHT_COLOR_BLUE
/obj/item/projectile/beam/sniper
name = "sniper beam"
icon_state = "sniperlaser"
damage = 60
stun = 5
weaken = 5
stutter = 5
impact_effect_type = /obj/effect/temp_visual/impact_effect/purple_laser
light_color = LIGHT_COLOR_PINK
/obj/item/projectile/beam/immolator
name = "immolation beam"
+27 -38
View File
@@ -12,6 +12,10 @@
damage = 5
stamina = 80
/obj/item/projectile/bullet/c38
name = ".38 bullet"
damage = 25
/obj/item/projectile/bullet/weakbullet/booze
/obj/item/projectile/bullet/weakbullet/booze/on_hit(atom/target, blocked = 0)
@@ -31,26 +35,12 @@
M.AdjustDrowsy(10)
A.volume += 5 //Because we can
/obj/item/projectile/bullet/weakbullet2 //detective revolver
/obj/item/projectile/bullet/weakbullet2
name = "rubber bullet"
damage = 5
stamina = 35
icon_state = "bullet-r"
/obj/item/projectile/bullet/weakbullet2/invisible //finger gun bullets
name = "invisible bullet"
damage = 0
weaken = 3
stamina = 60
icon_state = null
hitsound_wall = null
/obj/item/projectile/bullet/weakbullet2/invisible/fake
weaken = 0
stamina = 0
nodamage = 1
log_override = TRUE
/obj/item/projectile/bullet/weakbullet3
damage = 20
@@ -165,7 +155,7 @@
/obj/item/projectile/bullet/heavybullet
damage = 35
/obj/item/projectile/bullet/stunshot//taser slugs for shotguns, nothing special
/obj/item/projectile/bullet/stunshot //taser slugs for shotguns, nothing special
name = "stunshot"
damage = 5
stun = 5
@@ -196,13 +186,13 @@
icon = 'icons/obj/meteor.dmi'
icon_state = "dust"
damage = 30
weaken = 8
stun = 8
stun = 1
weaken = 4
hitsound = 'sound/effects/meteorimpact.ogg'
/obj/item/projectile/bullet/meteorshot/on_hit(atom/target, blocked = 0)
..()
if(istype(target, /atom/movable))
if(ismovable(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)
@@ -211,29 +201,28 @@
..()
SpinAnimation()
/obj/item/projectile/bullet/meteorshot/weak
damage = 10
weaken = 4
stun = 4
/obj/item/projectile/bullet/mime
damage = 0
stun = 5
weaken = 5
slur = 20
stutter = 20
damage = 40
var/special_effects = TRUE
/obj/item/projectile/bullet/mime/on_hit(atom/target, blocked = 0)
..(target, blocked)
if(iscarbon(target))
var/mob/living/carbon/M = target
M.Silence(10)
else if(istype(target, /obj/mecha/combat/honker))
var/obj/mecha/chassis = target
chassis.occupant_message("A mimetech anti-honk bullet has hit \the [chassis]!")
chassis.use_power(chassis.get_charge() / 2)
for(var/obj/item/mecha_parts/mecha_equipment/weapon/honker in chassis.equipment)
honker.set_ready_state(0)
if(special_effects)
if(iscarbon(target))
var/mob/living/carbon/M = target
M.Silence(10)
else if(istype(target, /obj/mecha/combat/honker))
var/obj/mecha/chassis = target
chassis.occupant_message("A mimetech anti-honk bullet has hit \the [chassis]!")
chassis.use_power(chassis.get_charge() / 2)
for(var/obj/item/mecha_parts/mecha_equipment/weapon/honker in chassis.equipment)
honker.set_ready_state(0)
/obj/item/projectile/bullet/mime/fake
damage = 0
nodamage = TRUE
special_effects = FALSE
log_override = TRUE
/obj/item/projectile/bullet/dart
name = "dart"
+5 -19
View File
@@ -44,30 +44,16 @@
irradiate = 10
impact_effect_type = /obj/effect/temp_visual/impact_effect/green_laser
/obj/item/projectile/energy/dart
name = "dart"
icon_state = "toxin"
damage = 5
damage_type = TOX
weaken = 5
range = 7
/obj/item/projectile/energy/shuriken
name = "shuriken"
icon_state = "toxin"
damage = 10
damage_type = TOX
weaken = 5
stutter = 5
/obj/item/projectile/energy/bolt
name = "bolt"
icon_state = "cbbolt"
damage = 15
damage_type = TOX
nodamage = 0
weaken = 5
stutter = 5
nodamage = FALSE
stamina = 60
eyeblur = 10
weaken = 1
slur = 5
/obj/item/projectile/energy/bolt/large
damage = 20
@@ -193,14 +193,14 @@
/obj/item/projectile/bullet/frag12
name ="explosive slug"
damage = 25
weaken = 5
damage = 15
weaken = 1
alwayslog = TRUE
/obj/item/projectile/bullet/frag12/on_hit(atom/target, blocked = 0)
..()
explosion(target, -1, 0, 1)
return 1
return TRUE
/obj/item/projectile/plasma
name = "plasma blast"