diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm index f4783cd57847b..28be22a23b17e 100644 --- a/code/game/objects/effects/effect_system/smoke.dm +++ b/code/game/objects/effects/effect_system/smoke.dm @@ -368,6 +368,7 @@ /obj/effect/particle_effect/smoke/xeno/burn/opaque alpha = 255 opacity = TRUE + smoke_traits = SMOKE_XENO|SMOKE_XENO_ACID|SMOKE_GASP|SMOKE_COUGH|SMOKE_HUGGER_PACIFY //Xeno light acid smoke.for acid huggers /obj/effect/particle_effect/smoke/xeno/burn/light @@ -375,20 +376,19 @@ //Xeno neurotox smoke. /obj/effect/particle_effect/smoke/xeno/neuro - alpha = 120 - opacity = FALSE + alpha = 255 + opacity = TRUE color = "#ffbf58" //Mustard orange? smoke_traits = SMOKE_XENO|SMOKE_XENO_NEURO|SMOKE_GASP|SMOKE_COUGH|SMOKE_EXTINGUISH ///Xeno neurotox smoke for Defilers; doesn't extinguish /obj/effect/particle_effect/smoke/xeno/neuro/medium - alpha = 255 - opacity = TRUE - color = "#ffbf58" //Mustard orange? smoke_traits = SMOKE_XENO|SMOKE_XENO_NEURO|SMOKE_GASP|SMOKE_COUGH|SMOKE_HUGGER_PACIFY ///Xeno neurotox smoke for neurospit; doesn't extinguish or blind /obj/effect/particle_effect/smoke/xeno/neuro/light + alpha = 120 + opacity = FALSE smoke_traits = SMOKE_XENO|SMOKE_XENO_NEURO|SMOKE_GASP|SMOKE_COUGH|SMOKE_NEURO_LIGHT //Light neuro smoke doesn't extinguish /obj/effect/particle_effect/smoke/xeno/toxic diff --git a/code/modules/mob/living/carbon/xenomorph/castes/boiler/abilities_boiler.dm b/code/modules/mob/living/carbon/xenomorph/castes/boiler/abilities_boiler.dm index f759df89ab2cd..a51a055c8bf1a 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/boiler/abilities_boiler.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/boiler/abilities_boiler.dm @@ -33,6 +33,14 @@ GLOBAL_LIST_INIT(boiler_glob_image_list, list( keybinding_signals = list( KEYBINDING_NORMAL = COMSIG_XENOABILITY_LONG_RANGE_SIGHT, ) + /// The offset in a direction for zoom_in + var/tile_offset = 5 + /// The size of the zoom for zoom_in + var/view_size = 4 + +/datum/action/ability/xeno_action/toggle_long_range/bull + tile_offset = 11 + view_size = 12 /datum/action/ability/xeno_action/toggle_long_range/action_activate() var/mob/living/carbon/xenomorph/boiler/X = owner @@ -45,7 +53,7 @@ GLOBAL_LIST_INIT(boiler_glob_image_list, list( span_notice("We start focusing your sight to look off into the distance."), null, 5) if(!do_after(X, 1 SECONDS, IGNORE_HELD_ITEM, null, BUSY_ICON_GENERIC) || (X.xeno_flags & XENO_ZOOMED)) return - X.zoom_in(11) + X.zoom_in(tile_offset, view_size) ..() // *************************************** @@ -265,11 +273,6 @@ GLOBAL_LIST_INIT(boiler_glob_image_list, list( boiler_owner.balloon_alert(boiler_owner, "Invalid target.") return FALSE - if(get_dist(T, S) <= 5) //Magic number - if(!silent) - boiler_owner.balloon_alert(boiler_owner, "Too close!") - return FALSE - /datum/action/ability/activable/xeno/bombard/use_ability(atom/A) var/mob/living/carbon/xenomorph/boiler/boiler_owner = owner var/turf/target = get_turf(A) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/boiler/boiler.dm b/code/modules/mob/living/carbon/xenomorph/castes/boiler/boiler.dm index 37c64c9dc0251..e10b7be3f241d 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/boiler/boiler.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/boiler/boiler.dm @@ -43,7 +43,7 @@ // *************************************** /mob/living/carbon/xenomorph/boiler/Initialize(mapload) . = ..() - smoke = new /datum/effect_system/smoke_spread/xeno/acid(src) + smoke = new /datum/effect_system/smoke_spread/xeno/acid/opaque(src) ammo = GLOB.ammo_list[/datum/ammo/xeno/boiler_gas] update_boiler_glow() RegisterSignal(src, COMSIG_XENOMORPH_GIBBING, PROC_REF(gib_explode)) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/bull/castedatum_bull.dm b/code/modules/mob/living/carbon/xenomorph/castes/bull/castedatum_bull.dm index 0b81f337b3405..2bf02a7ee41f1 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/bull/castedatum_bull.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/bull/castedatum_bull.dm @@ -49,7 +49,7 @@ /datum/action/ability/activable/xeno/bull_charge, /datum/action/ability/activable/xeno/bull_charge/headbutt, /datum/action/ability/activable/xeno/bull_charge/gore, - /datum/action/ability/xeno_action/toggle_long_range, + /datum/action/ability/xeno_action/toggle_long_range/bull, ) /datum/xeno_caste/bull/normal diff --git a/code/modules/projectiles/ammo_types/xenos/gas_xenoammo.dm b/code/modules/projectiles/ammo_types/xenos/gas_xenoammo.dm index 98caabde0e393..d345af220fcff 100644 --- a/code/modules/projectiles/ammo_types/xenos/gas_xenoammo.dm +++ b/code/modules/projectiles/ammo_types/xenos/gas_xenoammo.dm @@ -30,7 +30,7 @@ ///On a direct hit, how much drowsyness gets added to the target? var/hit_drowsyness = 12 ///Base spread range - var/fixed_spread_range = 4 + var/fixed_spread_range = 3 ///Which type is the smoke we leave on passed tiles, provided the projectile has AMMO_LEAVE_TURF enabled? var/passed_turf_smoke_type = /datum/effect_system/smoke_spread/xeno/neuro/light ///We're going to reuse one smoke spread system repeatedly to cut down on processing. @@ -141,7 +141,7 @@ if(!do_after(user_xeno, 3 SECONDS, NONE, trap)) return FALSE trap.set_trap_type(TRAP_SMOKE_ACID) - trap.smoke = new /datum/effect_system/smoke_spread/xeno/acid + trap.smoke = new /datum/effect_system/smoke_spread/xeno/acid/opaque trap.smoke.set_up(1, get_turf(trap)) return TRUE @@ -149,7 +149,7 @@ airburst(target_mob, proj) /datum/ammo/xeno/boiler_gas/corrosive/set_smoke() - smoke_system = new /datum/effect_system/smoke_spread/xeno/acid() + smoke_system = new /datum/effect_system/smoke_spread/xeno/acid/opaque() /datum/ammo/xeno/boiler_gas/lance name = "pressurized glob of gas" @@ -158,7 +158,7 @@ ///As opposed to normal globs, this will pass by the target tile if they hit nothing. ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_LEAVE_TURF danger_message = span_danger("A pressurized glob of acid lands with a nasty splat and explodes into noxious fumes!") - max_range = 25 + max_range = 14 damage = 75 penetration = 70 reagent_transfer_amount = 55 @@ -178,7 +178,7 @@ ///As opposed to normal globs, this will pass by the target tile if they hit nothing. ammo_behavior_flags = AMMO_XENO|AMMO_SKIPS_ALIENS|AMMO_LEAVE_TURF danger_message = span_danger("A pressurized glob of acid lands with a concerning hissing sound and explodes into corrosive bile!") - max_range = 25 + max_range = 14 damage = 75 penetration = 70 passed_turf_smoke_type = /datum/effect_system/smoke_spread/xeno/acid/light