More projectiles now ignite things

This commit is contained in:
Anewbe
2018-03-10 21:30:01 -06:00
parent edab848f2f
commit 09effef4f9
8 changed files with 48 additions and 0 deletions

View File

@@ -49,6 +49,7 @@
//Effects //Effects
var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 maybe later for burst of fire around the impact point. - Mech var/incendiary = 0 //1 for ignite on hit, 2 for trail of fire. 3 maybe later for burst of fire around the impact point. - Mech
var/flammability = 0 //Amount of fire stacks to add for the above. var/flammability = 0 //Amount of fire stacks to add for the above.
var/combustion = TRUE //Does this set off flammable objects on fire/hit?
var/stun = 0 var/stun = 0
var/weaken = 0 var/weaken = 0
var/paralyze = 0 var/paralyze = 0
@@ -90,6 +91,10 @@
//called when the projectile stops flying because it collided with something //called when the projectile stops flying because it collided with something
/obj/item/projectile/proc/on_impact(var/atom/A) /obj/item/projectile/proc/on_impact(var/atom/A)
impact_effect(effect_transform) // generate impact effect impact_effect(effect_transform) // generate impact effect
if(damage && damage_type == BURN)
var/turf/T = get_turf(A)
if(T)
T.hotspot_expose(700, 5)
return return
//Checks if the projectile is eligible for embedding. Not that it necessarily will. //Checks if the projectile is eligible for embedding. Not that it necessarily will.
@@ -132,6 +137,9 @@
if (!istype(targloc) || !istype(curloc)) if (!istype(targloc) || !istype(curloc))
return 1 return 1
if(combustion)
curloc.hotspot_expose(700, 5)
if(targloc == curloc) //Shooting something in the same turf if(targloc == curloc) //Shooting something in the same turf
target.bullet_act(src, target_zone) target.bullet_act(src, target_zone)
on_impact(target) on_impact(target)

View File

@@ -8,6 +8,7 @@
light_range = 2 light_range = 2
light_power = 0.5 light_power = 0.5
light_color = "#55AAFF" light_color = "#55AAFF"
combustion = FALSE
/obj/item/projectile/animate/Bump(var/atom/change) /obj/item/projectile/animate/Bump(var/atom/change)
if((istype(change, /obj/item) || istype(change, /obj/structure)) && !is_type_in_list(change, protected_objects)) if((istype(change, /obj/item) || istype(change, /obj/structure)) && !is_type_in_list(change, protected_objects))

View File

@@ -122,6 +122,8 @@
check_armour = "laser" check_armour = "laser"
light_color = "#0066FF" light_color = "#0066FF"
combustion = FALSE
muzzle_type = /obj/effect/projectile/laser_blue/muzzle muzzle_type = /obj/effect/projectile/laser_blue/muzzle
tracer_type = /obj/effect/projectile/laser_blue/tracer tracer_type = /obj/effect/projectile/laser_blue/tracer
impact_type = /obj/effect/projectile/laser_blue/impact impact_type = /obj/effect/projectile/laser_blue/impact
@@ -142,6 +144,8 @@
check_armour = "laser" check_armour = "laser"
light_color = "#FF0D00" light_color = "#FF0D00"
combustion = FALSE
/obj/item/projectile/beam/lastertag/red/on_hit(var/atom/target, var/blocked = 0) /obj/item/projectile/beam/lastertag/red/on_hit(var/atom/target, var/blocked = 0)
if(istype(target, /mob/living/carbon/human)) if(istype(target, /mob/living/carbon/human))
var/mob/living/carbon/human/M = target var/mob/living/carbon/human/M = target
@@ -157,6 +161,8 @@
check_armour = "laser" check_armour = "laser"
light_color = "#00C6FF" light_color = "#00C6FF"
combustion = FALSE
muzzle_type = /obj/effect/projectile/laser_omni/muzzle muzzle_type = /obj/effect/projectile/laser_omni/muzzle
tracer_type = /obj/effect/projectile/laser_omni/tracer tracer_type = /obj/effect/projectile/laser_omni/tracer
impact_type = /obj/effect/projectile/laser_omni/impact impact_type = /obj/effect/projectile/laser_omni/impact
@@ -190,6 +196,8 @@
damage_type = HALLOSS damage_type = HALLOSS
light_color = "#FFFFFF" light_color = "#FFFFFF"
combustion = FALSE
muzzle_type = /obj/effect/projectile/stun/muzzle muzzle_type = /obj/effect/projectile/stun/muzzle
tracer_type = /obj/effect/projectile/stun/tracer tracer_type = /obj/effect/projectile/stun/tracer
impact_type = /obj/effect/projectile/stun/impact impact_type = /obj/effect/projectile/stun/impact

View File

@@ -191,6 +191,8 @@
sharp = 0 sharp = 0
check_armour = "melee" check_armour = "melee"
combustion = FALSE
/obj/item/projectile/bullet/shotgun/ion/on_hit(var/atom/target, var/blocked = 0) /obj/item/projectile/bullet/shotgun/ion/on_hit(var/atom/target, var/blocked = 0)
..() ..()
empulse(target, 0, 0, 0, 0) //Only affects what it hits empulse(target, 0, 0, 0, 0) //Only affects what it hits
@@ -325,6 +327,8 @@
embed_chance = 0 embed_chance = 0
sharp = 0 sharp = 0
combustion = FALSE
/obj/item/projectile/bullet/pistol/cap/process() /obj/item/projectile/bullet/pistol/cap/process()
loc = null loc = null
qdel(src) qdel(src)

View File

@@ -6,6 +6,8 @@
nodamage = 1 nodamage = 1
check_armour = "energy" check_armour = "energy"
combustion = FALSE
/obj/item/projectile/change/on_hit(var/atom/change) /obj/item/projectile/change/on_hit(var/atom/change)
wabbajack(change) wabbajack(change)

View File

@@ -92,6 +92,7 @@
light_power = 0.5 light_power = 0.5
light_color = "#33CC00" light_color = "#33CC00"
combustion = FALSE
/obj/item/projectile/energy/dart /obj/item/projectile/energy/dart
name = "dart" name = "dart"
@@ -101,6 +102,7 @@
agony = 120 agony = 120
check_armour = "energy" check_armour = "energy"
combustion = FALSE
/obj/item/projectile/energy/bolt /obj/item/projectile/energy/bolt
name = "bolt" name = "bolt"
@@ -122,6 +124,8 @@
agony = 10 agony = 10
check_armour = "bio" check_armour = "bio"
combustion = FALSE
/obj/item/projectile/energy/neurotoxin /obj/item/projectile/energy/neurotoxin
name = "neurotoxic spit" name = "neurotoxic spit"
icon_state = "neurotoxin" icon_state = "neurotoxin"
@@ -130,6 +134,8 @@
agony = 80 agony = 80
check_armour = "bio" check_armour = "bio"
combustion = FALSE
/obj/item/projectile/energy/neurotoxin/toxic //New alien mob projectile to match the player-variant's projectiles. /obj/item/projectile/energy/neurotoxin/toxic //New alien mob projectile to match the player-variant's projectiles.
name = "neurotoxic spit" name = "neurotoxic spit"
icon_state = "neurotoxin" icon_state = "neurotoxin"
@@ -149,6 +155,8 @@
light_power = 0.5 light_power = 0.5
light_color = "#33CC00" light_color = "#33CC00"
combustion = FALSE
/obj/item/projectile/energy/plasmastun /obj/item/projectile/energy/plasmastun
name = "plasma pulse" name = "plasma pulse"
icon_state = "plasma_stun" icon_state = "plasma_stun"

View File

@@ -5,6 +5,8 @@
damage = 20 damage = 20
check_armour = "energy" check_armour = "energy"
combustion = FALSE
/obj/item/projectile/forcebolt/strong /obj/item/projectile/forcebolt/strong
name = "force bolt" name = "force bolt"

View File

@@ -9,6 +9,9 @@
light_range = 2 light_range = 2
light_power = 0.5 light_power = 0.5
light_color = "#55AAFF" light_color = "#55AAFF"
combustion = FALSE
var/sev1_range = 0 var/sev1_range = 0
var/sev2_range = 1 var/sev2_range = 1
var/sev3_range = 1 var/sev3_range = 1
@@ -56,6 +59,8 @@
light_power = 0.5 light_power = 0.5
light_color = "#55AAFF" light_color = "#55AAFF"
combustion = FALSE
/obj/item/projectile/temp/on_hit(atom/target, blocked = FALSE) /obj/item/projectile/temp/on_hit(atom/target, blocked = FALSE)
..() ..()
if(isliving(target)) if(isliving(target))
@@ -85,6 +90,8 @@
name = "heat beam" name = "heat beam"
target_temperature = 1000 target_temperature = 1000
combustion = TRUE
/obj/item/projectile/meteor /obj/item/projectile/meteor
name = "meteor" name = "meteor"
icon = 'icons/obj/meteor.dmi' icon = 'icons/obj/meteor.dmi'
@@ -127,6 +134,8 @@
light_power = 0.5 light_power = 0.5
light_color = "#33CC00" light_color = "#33CC00"
combustion = FALSE
/obj/item/projectile/energy/floramut/on_hit(var/atom/target, var/blocked = 0) /obj/item/projectile/energy/floramut/on_hit(var/atom/target, var/blocked = 0)
var/mob/living/M = target var/mob/living/M = target
if(ishuman(target)) if(ishuman(target))
@@ -196,6 +205,8 @@
/obj/item/projectile/beam/mindflayer /obj/item/projectile/beam/mindflayer
name = "flayer ray" name = "flayer ray"
combustion = FALSE
/obj/item/projectile/beam/mindflayer/on_hit(var/atom/target, var/blocked = 0) /obj/item/projectile/beam/mindflayer/on_hit(var/atom/target, var/blocked = 0)
if(ishuman(target)) if(ishuman(target))
var/mob/living/carbon/human/M = target var/mob/living/carbon/human/M = target
@@ -218,6 +229,8 @@
damage_type = HALLOSS damage_type = HALLOSS
muzzle_type = null muzzle_type = null
combustion = FALSE
/obj/item/projectile/bola/on_hit(var/atom/target, var/blocked = 0) /obj/item/projectile/bola/on_hit(var/atom/target, var/blocked = 0)
if(ishuman(target)) if(ishuman(target))
var/mob/living/carbon/human/M = target var/mob/living/carbon/human/M = target
@@ -235,6 +248,8 @@
damage_type = BRUTE damage_type = BRUTE
muzzle_type = null muzzle_type = null
combustion = FALSE
/obj/item/projectile/webball/on_hit(var/atom/target, var/blocked = 0) /obj/item/projectile/webball/on_hit(var/atom/target, var/blocked = 0)
if(isturf(target.loc)) if(isturf(target.loc))
var/obj/effect/spider/stickyweb/W = locate() in get_turf(target) var/obj/effect/spider/stickyweb/W = locate() in get_turf(target)