mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
More projectiles now ignite things
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user