Merge branch 'master' into Projectile_Rework

This commit is contained in:
Lin
2022-04-09 04:19:56 +00:00
committed by GitHub
410 changed files with 7476 additions and 7443 deletions

View File

@@ -10,7 +10,7 @@
/obj/item/ammo_casing/caseless/laser
name = "laser casing"
desc = "You shouldn't be seeing this."
caliber = "laser"
caliber = LASER
icon_state = "s-casing-live"
projectile_type = /obj/item/projectile/beam
fire_sound = 'sound/weapons/laser.ogg'

View File

@@ -1,7 +1,7 @@
/obj/item/ammo_casing/energy
name = "energy weapon lens"
desc = "The part of the gun that makes the laser go pew."
caliber = "energy"
caliber = ENERGY
projectile_type = /obj/item/projectile/energy
var/e_cost = 100 //The amount of energy a cell needs to expend to create this shot.
var/select_name = "energy"

View File

@@ -3,7 +3,7 @@
desc = "A rechargeable, detachable battery that serves as a magazine for laser rifles."
icon_state = "oldrifle-20"
ammo_type = /obj/item/ammo_casing/caseless/laser
caliber = "laser"
caliber = LASER
max_ammo = 20
/obj/item/ammo_box/magazine/recharge/update_icon()

View File

@@ -42,7 +42,7 @@
icon_state = null
damage = 50
damage_type = BRUTE
flag = "bomb"
flag = BOMB
range = 4
log_override = TRUE
@@ -220,7 +220,7 @@
icon_state = null
damage = 40
damage_type = BRUTE
flag = "bomb"
flag = BOMB
range = 3
log_override = TRUE

View File

@@ -408,7 +408,7 @@
hitsound = 'sound/effects/explosion3.ogg'
damage = 0 //Handled manually.
damage_type = BURN
flag = "energy"
flag = ENERGY
range = 150
jitter = 10
var/obj/item/gun/energy/beam_rifle/gun
@@ -443,7 +443,7 @@
if(!isitem(O))
if(O.level == 1) //Please don't break underfloor items!
continue
O.take_damage(aoe_structure_damage * get_damage_coeff(O), BURN, "laser", FALSE)
O.take_damage(aoe_structure_damage * get_damage_coeff(O), BURN, LASER, FALSE)
/obj/item/projectile/beam/beam_rifle/prehit_pierce(atom/A)
if(isclosedturf(A) && (wall_pierce < wall_pierce_amount))
@@ -474,7 +474,7 @@
/obj/item/projectile/beam/beam_rifle/proc/handle_impact(atom/target)
if(isobj(target))
var/obj/O = target
O.take_damage(impact_structure_damage * get_damage_coeff(target), BURN, "laser", FALSE)
O.take_damage(impact_structure_damage * get_damage_coeff(target), BURN, LASER, FALSE)
if(isliving(target))
var/mob/living/L = target
L.adjustFireLoss(impact_direct_damage)

View File

@@ -149,7 +149,7 @@
var/damage = 10
var/damage_type = BRUTE //BRUTE, BURN, TOX, OXY, CLONE are the only things that should be in here
var/nodamage = 0 //Determines if the projectile will skip any damage inflictions
var/flag = "bullet" //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb
var/flag = BULLET //Defines what armor to use when it hits things. Must be set to bullet, laser, energy,or bomb
var/projectile_type = /obj/item/projectile
/// Range of the projectile, de-incrementing every step. The projectile deletes itself at 0. This is in tiles.
var/range = 50
@@ -643,9 +643,9 @@
CRASH("Invalid return value for projectile ricochet check from [A].")
/obj/item/projectile/proc/check_ricochet_flag(atom/A)
if((flag in list("energy", "laser")) && (A.flags_ricochet & RICOCHET_SHINY))
if((flag in list(ENERGY, LASER)) && (A.flags_ricochet & RICOCHET_SHINY))
return TRUE
if((flag in list("bomb", "bullet")) && (A.flags_ricochet & RICOCHET_HARD))
if((flag in list(BOMB, BULLET)) && (A.flags_ricochet & RICOCHET_HARD))
return TRUE
return FALSE

View File

@@ -7,7 +7,7 @@
damage_type = BURN
hitsound = 'sound/weapons/sear.ogg'
hitsound_wall = 'sound/weapons/effects/searwall.ogg'
flag = "laser"
flag = LASER
eyeblur = 2
impact_effect_type = /obj/effect/temp_visual/impact_effect/red_laser
light_color = LIGHT_COLOR_RED
@@ -85,7 +85,7 @@
icon_state = "omnilaser"
damage = 28 // Citadel change for balance from 36
damage_type = STAMINA
flag = "energy"
flag = ENERGY
hitsound = 'sound/weapons/tap.ogg'
eyeblur = 0
pixels_per_second = TILES_TO_PIXELS(16.667)
@@ -150,7 +150,7 @@
hitsound = null
damage = 0
damage_type = STAMINA
flag = "laser"
flag = LASER
var/suit_types = list(/obj/item/clothing/suit/redtag, /obj/item/clothing/suit/bluetag)
impact_effect_type = /obj/effect/temp_visual/impact_effect/blue_laser
light_color = LIGHT_COLOR_BLUE
@@ -231,7 +231,7 @@
hitsound = 'sound/weapons/shrink_hit.ogg'
damage = 0
damage_type = STAMINA
flag = "energy"
flag = ENERGY
impact_effect_type = /obj/effect/temp_visual/impact_effect/shrink
light_color = LIGHT_COLOR_BLUE
var/shrink_time = 90

View File

@@ -5,7 +5,7 @@
damage_type = BRUTE
nodamage = FALSE
candink = TRUE
flag = "bullet"
flag = BULLET
hitsound_wall = "ricochet"
impact_effect_type = /obj/effect/temp_visual/impact_effect
sharpness = SHARP_POINTY

View File

@@ -13,7 +13,7 @@
/obj/item/projectile/bullet/p50/on_hit(atom/target, blocked = 0)
if(isobj(target) && (blocked != 100) && breakthings)
var/obj/O = target
O.take_damage(80, BRUTE, "bullet", FALSE)
O.take_damage(80, BRUTE, BULLET, FALSE)
return ..()
/obj/item/projectile/bullet/p50/soporific

View File

@@ -3,6 +3,6 @@
icon_state = "spark"
damage = 0
damage_type = BURN
flag = "energy"
flag = ENERGY
is_reflectable = TRUE

View File

@@ -28,3 +28,7 @@
/obj/item/projectile/energy/tesla/cannon
name = "tesla orb"
power = 20000
/obj/item/projectile/energy/tesla/sphere
name = "tesla sphere"
power = 100000

View File

@@ -5,7 +5,7 @@
damage_type = OXY
nodamage = 1
armour_penetration = 100
flag = "magic"
flag = MAGIC
/obj/item/projectile/magic/death
name = "bolt of death"
@@ -302,7 +302,7 @@
icon_state = "lavastaff"
damage = 15
damage_type = BURN
flag = "magic"
flag = MAGIC
dismemberment = 50
nodamage = 0
@@ -322,7 +322,7 @@
damage_type = BURN
nodamage = 0
armour_penetration = 0
flag = "magic"
flag = MAGIC
hitsound = 'sound/weapons/barragespellhit.ogg'
/obj/item/projectile/magic/arcane_barrage/on_hit(target)
@@ -339,7 +339,7 @@
name = "locker bolt"
icon_state = "locker"
nodamage = TRUE
flag = "magic"
flag = MAGIC
var/weld = TRUE
var/created = FALSE //prevents creation of more then one locker if it has multiple hits
var/locker_suck = TRUE
@@ -436,7 +436,7 @@
damage_type = BURN
nodamage = 0
pixels_per_second = TILES_TO_PIXELS(33.33)
flag = "magic"
flag = MAGIC
var/zap_power = 20000
var/zap_range = 15

View File

@@ -12,7 +12,7 @@
icon_state = "spellcard"
damage_type = BURN
damage = 12
flag = "magic"
flag = MAGIC
/obj/item/projectile/magic/spellcard/book/spark
damage = 4
@@ -25,7 +25,7 @@
if(M.anti_magic_check())
M.visible_message("<span class='warning'>[src] vanishes on contact with [target]!</span>")
return BULLET_ACT_BLOCK
if(iscarbon(target))
M.adjust_fire_stacks(fire_stacks)
M.IgniteMob()

View File

@@ -1,7 +1,7 @@
/obj/item/projectile/energy/plasmabolt
name = "plasma bolt"
icon_state = "plasma"
flag = "energy"
flag = ENERGY
damage_type = BURN
hitsound = 'sound/weapons/sear.ogg'
hitsound_wall = 'sound/weapons/effects/searwall.ogg'

View File

@@ -4,7 +4,7 @@
damage = 0
damage_type = TRUE
nodamage = 1
flag = "energy"
flag = ENERGY
/obj/item/projectile/energy/floramut/on_hit(atom/target, blocked = FALSE)
. = ..()
@@ -22,7 +22,7 @@
damage = 0
damage_type = TOX
nodamage = TRUE
flag = "energy"
flag = ENERGY
/obj/item/projectile/energy/florarevolution
name = "gamma somatorary"
@@ -30,4 +30,4 @@
damage = 0
damage_type = TOX
nodamage = TRUE
flag = "energy"
flag = ENERGY

View File

@@ -4,7 +4,7 @@
damage = 0
damage_type = BURN
nodamage = TRUE
flag = "energy"
flag = ENERGY
impact_effect_type = /obj/effect/temp_visual/impact_effect/ion
var/emp_radius = 1

View File

@@ -5,7 +5,7 @@
damage = 0
damage_type = BRUTE
nodamage = 1
flag = "bullet"
flag = BULLET
/obj/item/projectile/meteor/Bump(atom/A)
if(A == firer)

View File

@@ -23,7 +23,7 @@
explosion(target, -1, 1, 3, 1, 0, flame_range = 4)
if(ismecha(target))
var/obj/mecha/M = target
var/obj/vehicle/sealed/mecha/M = target
M.take_damage(anti_armour_damage)
if(issilicon(target))
var/mob/living/silicon/S = target
@@ -53,7 +53,7 @@
ricochets_max = 0 //it's a MISSILE
var/sturdy = list(
/turf/closed,
/obj/mecha,
/obj/vehicle/sealed/mecha,
/obj/machinery/door/,
/obj/machinery/door/poddoor/shutters
)

View File

@@ -12,7 +12,7 @@
ricochet_chance = 80
is_reflectable = TRUE
light_color = LIGHT_COLOR_BLUE
flag = "energy"
flag = ENERGY
var/temperature = 100
/obj/item/projectile/temp/on_hit(atom/target, blocked = 0)