diff --git a/code/__DEFINES/atmospherics.dm b/code/__DEFINES/atmospherics.dm
index de7eb672e8..b466475222 100644
--- a/code/__DEFINES/atmospherics.dm
+++ b/code/__DEFINES/atmospherics.dm
@@ -44,3 +44,4 @@ var/MAX_EXPLOSION_RANGE = 14
#define VENT_GAS_SMOKE "Smoke"
#define VENT_GAS_CN20 "CN20 Nerve Gas"
#define VENT_GAS_CN20_XENO "CN20-X Nerve Gas"
+#define VENT_GAS_LSD "ALD-91 LSD Gas"
diff --git a/code/__pragmas.dm b/code/__pragmas.dm
index 39c14e1bbc..84fcc0dfc3 100644
--- a/code/__pragmas.dm
+++ b/code/__pragmas.dm
@@ -12,7 +12,6 @@
#pragma SoftReservedKeyword error
#pragma DuplicateVariable error
#pragma DuplicateProcDefinition error
-#pragma TooManyArguments error
#pragma PointlessParentCall error
#pragma PointlessBuiltinCall error
#pragma SuspiciousMatrixCall error
diff --git a/code/datums/global_variables.dm b/code/datums/global_variables.dm
index 953f42f172..53e9c0391e 100644
--- a/code/datums/global_variables.dm
+++ b/code/datums/global_variables.dm
@@ -118,15 +118,11 @@
/client/proc/debug_global_variable(name, value, level)
var/html = ""
- var/change = 0
//to make the value bold if changed
if(!(admin_holder.rights & R_DEBUG))
return html
html += "
EC "
- if(value != initial(global.vars[name]))
- html += ""
- change = 1
if (isnull(value))
html += "[name] = null"
@@ -175,8 +171,6 @@
else
html += "[name] = [value]"
- if(change)
- html += ""
html += ""
@@ -353,7 +347,6 @@
if(admin_holder && admin_holder.marked_datum)
possible_classes += "marked datum"
possible_classes += "edit referenced object"
- possible_classes += "restore to default"
class = tgui_input_list(usr, "What kind of variable?","Variable Type", possible_classes)
if(!class)
@@ -365,9 +358,6 @@
mod_list(global.vars[variable])
return
- if("restore to default")
- global.vars[variable] = initial(global.vars[variable])
-
if("edit referenced object")
return .(global.vars[variable])
diff --git a/code/game/objects/effects/effect_system/smoke.dm b/code/game/objects/effects/effect_system/smoke.dm
index b80f53b14d..4cd3c4a37d 100644
--- a/code/game/objects/effects/effect_system/smoke.dm
+++ b/code/game/objects/effects/effect_system/smoke.dm
@@ -258,6 +258,7 @@
var/xeno_affecting = FALSE
opacity = FALSE
alpha = 75
+ time_to_live = 20
/obj/effect/particle_effect/smoke/cn20/xeno
name = "CN20-X nerve gas"
@@ -276,10 +277,14 @@
/obj/effect/particle_effect/smoke/cn20/affect(mob/living/carbon/creature)
var/mob/living/carbon/xenomorph/xeno_creature
var/mob/living/carbon/human/human_creature
+ var/datum/internal_organ/lungs/lungs
+ var/datum/internal_organ/eyes/eyes
if(isxeno(creature))
xeno_creature = creature
else if(ishuman(creature))
human_creature = creature
+ lungs = human_creature.internal_organs_by_name["lungs"]
+ eyes = human_creature.internal_organs_by_name["eyes"]
if(!istype(creature) || issynth(creature) || creature.stat == DEAD)
return FALSE
if(!xeno_affecting && xeno_creature)
@@ -297,14 +302,18 @@
if(xeno_creature)
if(xeno_creature.interference < 4)
to_chat(xeno_creature, SPAN_XENOHIGHDANGER("Your awareness dims to a small area!"))
+ creature.apply_damage(20, BRUTE)
xeno_creature.interference = 10
xeno_creature.blinded = TRUE
else
- creature.apply_damage(12, OXY)
+ creature.apply_damage(12, TOX)
+ creature.apply_damage(2, BRAIN)
+ lungs.take_damage(2)
creature.SetEarDeafness(max(creature.ear_deaf, round(effect_amt*1.5))) //Paralysis of hearing system, aka deafness
- if(!xeno_creature && !creature.eye_blind) //Eye exposure damage
+ if(!xeno_creature) //Eye exposure damage
to_chat(creature, SPAN_DANGER("Your eyes sting. You can't see!"))
creature.SetEyeBlind(round(effect_amt/3))
+ eyes.take_damage(2)
if(!xeno_creature && creature.coughedtime != 1 && !creature.stat) //Coughing/gasping
creature.coughedtime = 1
if(prob(50))
@@ -330,6 +339,40 @@
human_creature.recalculate_move_delay = TRUE
return TRUE
+/////////////////////////////////////////////
+// ALD-91 LSD Gas
+/////////////////////////////////////////////
+
+/obj/effect/particle_effect/smoke/LSD
+ name = "ALD-91 LSD Gas"
+ smokeranking = SMOKE_RANK_HIGH
+ color = "#6e006e"
+ opacity = FALSE
+ alpha = 75
+ time_to_live = 20
+ var/stun_chance = 60
+
+/obj/effect/particle_effect/smoke/LSD/Move()
+ . = ..()
+ for(var/mob/living/carbon/human/human in get_turf(src))
+ affect(human)
+
+/obj/effect/particle_effect/smoke/LSD/affect(mob/living/carbon/human/creature)
+ if(!istype(creature) || issynth(creature) || creature.stat == DEAD || isyautja(creature))
+ return FALSE
+
+ if(creature.wear_mask && (creature.wear_mask.flags_inventory & BLOCKGASEFFECT))
+ return FALSE
+ if(creature.head.flags_inventory & BLOCKGASEFFECT)
+ return FALSE
+
+ creature.hallucination += 15
+ creature.druggy += 1
+
+ if(prob(stun_chance))
+ creature.apply_effect(1, WEAKEN)
+
+
//////////////////////////////////////
// FLASHBANG SMOKE
////////////////////////////////////
@@ -633,6 +676,9 @@
/datum/effect_system/smoke_spread/cn20/xeno
smoke_type = /obj/effect/particle_effect/smoke/cn20/xeno
+/datum/effect_system/smoke_spread/LSD
+ smoke_type = /obj/effect/particle_effect/smoke/LSD
+
// XENO SMOKES
/datum/effect_system/smoke_spread/xeno_acid
diff --git a/code/game/objects/items/explosives/grenades/marines.dm b/code/game/objects/items/explosives/grenades/marines.dm
index 46d2d4eba9..36ba614041 100644
--- a/code/game/objects/items/explosives/grenades/marines.dm
+++ b/code/game/objects/items/explosives/grenades/marines.dm
@@ -484,7 +484,7 @@
/// The typepath of the nerve gas
var/nerve_gas_type = /datum/effect_system/smoke_spread/cn20
/// The radius the gas will reach
- var/nerve_gas_radius = 2
+ var/nerve_gas_radius = 4
/obj/item/explosive/grenade/nerve_gas/Initialize(mapload, ...)
. = ..()
@@ -505,6 +505,38 @@
name = "\improper CN20-X canister grenade"
nerve_gas_type = /datum/effect_system/smoke_spread/cn20/xeno
+/*
+//================================================
+ LSD Gas Grenades
+//================================================
+*/
+/obj/item/explosive/grenade/LSD
+ name = "\improper ALD-91 canister grenade"
+ desc = "A canister grenade of nonlethal LSD gas. It is set to detonate in 4 seconds."
+ icon_state = "flashbang2"//temp icon
+ det_time = 40
+ item_state = "grenade_phos_clf"//temp icon
+ underslug_launchable = FALSE
+ harmful = TRUE
+ antigrief_protection = FALSE
+ var/datum/effect_system/smoke_spread/LSD/LSD_gas
+ var/LSD_gas_radius = 4
+
+/obj/item/explosive/grenade/LSD/Initialize()
+ . = ..() //if it ain't broke don't fix it
+ LSD_gas = new /datum/effect_system/smoke_spread/LSD
+ LSD_gas.attach(src)
+
+/obj/item/explosive/grenade/LSD/Destroy()
+ QDEL_NULL(LSD_gas)
+ return ..()
+
+/obj/item/explosive/grenade/LSD/prime()
+ playsound(src.loc, 'sound/effects/smoke.ogg', 25, 1, 4)
+ LSD_gas.set_up(LSD_gas_radius, 0, get_turf(src), null, 6)
+ LSD_gas.start()
+ qdel(src)
+
/*
//================================================
Airburst Smoke Grenades
diff --git a/code/game/objects/structures/pipes/vents/vents.dm b/code/game/objects/structures/pipes/vents/vents.dm
index 298fbc57f4..926f14cd2f 100644
--- a/code/game/objects/structures/pipes/vents/vents.dm
+++ b/code/game/objects/structures/pipes/vents/vents.dm
@@ -139,7 +139,7 @@
if(welded)
to_chat(usr, SPAN_WARNING("You cannot release gas from a welded vent."))
return FALSE
- var/list/options = list(VENT_GAS_SMOKE, VENT_GAS_CN20, VENT_GAS_CN20_XENO)
+ var/list/options = list(VENT_GAS_SMOKE, VENT_GAS_CN20, VENT_GAS_CN20_XENO, VENT_GAS_LSD)
var/gas_choice = tgui_input_list(user, "What gas do you wish to use?", "Gas Choice", options, 20 SECONDS)
if(!gas_choice)
return FALSE
@@ -166,6 +166,8 @@
spreader = new /datum/effect_system/smoke_spread/cn20
if(VENT_GAS_CN20_XENO)
spreader = new /datum/effect_system/smoke_spread/cn20/xeno
+ if(VENT_GAS_LSD)
+ spreader = new /datum/effect_system/smoke_spread/LSD
if(!spreader)
return FALSE
gas_holder = spreader
diff --git a/code/modules/clothing/shoes/marine_shoes.dm b/code/modules/clothing/shoes/marine_shoes.dm
index 1a11545ea4..365a8a551a 100644
--- a/code/modules/clothing/shoes/marine_shoes.dm
+++ b/code/modules/clothing/shoes/marine_shoes.dm
@@ -231,7 +231,8 @@
/obj/item/clothing/shoes/royal_marine
name = "\improper L10 pattern combat boots"
desc = "Standard issue combat boots for combat scenarios or combat situations. Used by the three world empires royal marines commando units."
- icon_state = "rmc_boots"
+ icon_state = "marine"
+ item_state = "marine"
armor_melee = CLOTHING_ARMOR_MEDIUMHIGH
armor_bullet = CLOTHING_ARMOR_MEDIUMHIGH
armor_laser = CLOTHING_ARMOR_LOW
diff --git a/icons/mob/humans/onmob/back.dmi b/icons/mob/humans/onmob/back.dmi
index 670afcf34e..39abfe5ce6 100644
Binary files a/icons/mob/humans/onmob/back.dmi and b/icons/mob/humans/onmob/back.dmi differ
diff --git a/icons/mob/humans/onmob/feet.dmi b/icons/mob/humans/onmob/feet.dmi
index 84121e6b09..909a629f72 100644
Binary files a/icons/mob/humans/onmob/feet.dmi and b/icons/mob/humans/onmob/feet.dmi differ
diff --git a/icons/mob/humans/onmob/head_1.dmi b/icons/mob/humans/onmob/head_1.dmi
index 139dae66e8..fcd8917c9c 100644
Binary files a/icons/mob/humans/onmob/head_1.dmi and b/icons/mob/humans/onmob/head_1.dmi differ
diff --git a/icons/mob/humans/onmob/suit_1.dmi b/icons/mob/humans/onmob/suit_1.dmi
index 3096925329..8a9424ff15 100644
Binary files a/icons/mob/humans/onmob/suit_1.dmi and b/icons/mob/humans/onmob/suit_1.dmi differ
diff --git a/icons/obj/items/clothing/belts.dmi b/icons/obj/items/clothing/belts.dmi
index 0a194a7bbc..18e011f048 100644
Binary files a/icons/obj/items/clothing/belts.dmi and b/icons/obj/items/clothing/belts.dmi differ
diff --git a/icons/obj/items/clothing/cm_hats.dmi b/icons/obj/items/clothing/cm_hats.dmi
index ada7540e96..1411de23fb 100644
Binary files a/icons/obj/items/clothing/cm_hats.dmi and b/icons/obj/items/clothing/cm_hats.dmi differ