Merge branch 'master' into Projectile_Rework
This commit is contained in:
@@ -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'
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
icon_state = "spark"
|
||||
damage = 0
|
||||
damage_type = BURN
|
||||
flag = "energy"
|
||||
flag = ENERGY
|
||||
is_reflectable = TRUE
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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'
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user