mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-30 07:27:57 +01:00
People are now hidden behind smoke (#24229)
* no, that is NOT solid snake * lol * more names * Update code/game/objects/items/weapons/storage/boxes.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Apply suggestions from code review Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/objects/items/weapons/storage/belt.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> --------- Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
This commit is contained in:
co-authored by
Henri215
Luc
parent
e32544e599
commit
3557748229
@@ -94,7 +94,8 @@
|
||||
#define HIGH_LANDMARK_LAYER 9.2
|
||||
#define AREA_LAYER 10
|
||||
#define MASSIVE_OBJ_LAYER 11
|
||||
#define POINT_LAYER 12
|
||||
#define SMOKE_PLANE 12
|
||||
#define POINT_LAYER 13
|
||||
|
||||
#define CHAT_LAYER 12.0001 // Do not insert layers between these two values
|
||||
#define CHAT_LAYER_MAX 12.9999
|
||||
|
||||
@@ -104,3 +104,9 @@
|
||||
blend_mode = BLEND_ADD
|
||||
render_target = GRAVITY_PULSE_RENDER_TARGET
|
||||
appearance_flags = PLANE_MASTER | NO_CLIENT_COLOR
|
||||
|
||||
/obj/screen/plane_master/smoke
|
||||
name = "point plane master"
|
||||
plane = SMOKE_PLANE
|
||||
appearance_flags = PLANE_MASTER
|
||||
blend_mode = BLEND_OVERLAY
|
||||
|
||||
@@ -1431,3 +1431,72 @@
|
||||
var/obj/item/card/id/I = H.wear_id
|
||||
if(istype(I))
|
||||
apply_to_card(I, H, get_all_accesses(), "Oblivion Enforcer")
|
||||
|
||||
/datum/outfit/admin/viper
|
||||
name = "Solar Federation Viper Infiltrator"
|
||||
|
||||
uniform = /obj/item/clothing/under/solgov/viper
|
||||
back = /obj/item/storage/backpack/satchel
|
||||
belt = /obj/item/storage/belt/viper
|
||||
gloves = /obj/item/clothing/gloves/color/black
|
||||
shoes = /obj/item/clothing/shoes/jackboots
|
||||
head = null // will end up being the bandana
|
||||
mask = /obj/item/clothing/mask/bandana/black // will end up being a cigar
|
||||
l_ear = /obj/item/radio/headset/ert/alt/solgov
|
||||
glasses = /obj/item/clothing/glasses/thermal/eyepatch
|
||||
id = /obj/item/card/id
|
||||
l_pocket = /obj/item/kitchen/knife/combat
|
||||
r_pocket = /obj/item/gun/projectile/automatic/pistol
|
||||
box = /obj/item/storage/box/responseteam
|
||||
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/smoke_grenades = 1,
|
||||
/obj/item/lighter/zippo = 1,
|
||||
/obj/item/clothing/mask/cigarette/cigar = 3,
|
||||
/obj/item/clothing/mask/gas/explorer = 1
|
||||
)
|
||||
|
||||
bio_chips = list(/obj/item/bio_chip/stealth)
|
||||
|
||||
cybernetic_implants = list(
|
||||
/obj/item/organ/internal/cyberimp/eyes/hud/security,
|
||||
/obj/item/organ/internal/cyberimp/chest/nutriment/hardened
|
||||
)
|
||||
|
||||
/datum/outfit/admin/viper/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
. = ..()
|
||||
if(visualsOnly)
|
||||
return
|
||||
var/codename = pick("Viper", "Serpent", "Python", "Boa", "Basilisk", "Snake", "Mamba", "Sidewinder")
|
||||
if(prob(50))
|
||||
var/codename_prefix = pick("Exposed", "Unveiled", "Phantom", "Mirage", "Punished", "Invisible", "Swift")
|
||||
codename = "[codename_prefix] [codename]"
|
||||
H.rename_character(null, codename)
|
||||
|
||||
var/hair_color = "#361A00"
|
||||
|
||||
var/obj/item/organ/external/head/head_organ = H.get_organ("head")
|
||||
head_organ.h_style = "Bedhead 2"
|
||||
head_organ.f_style = "Full Beard"
|
||||
head_organ.hair_colour = hair_color
|
||||
head_organ.sec_facial_colour = hair_color
|
||||
head_organ.facial_colour = hair_color
|
||||
head_organ.sec_hair_colour = hair_color
|
||||
H.update_hair()
|
||||
H.update_fhair()
|
||||
H.update_dna()
|
||||
|
||||
H.wear_mask.adjustmask(H) // push it back on the head
|
||||
equip_item(H, /obj/item/clothing/mask/cigarette/cigar, SLOT_HUD_WEAR_MASK) // get them their cigar
|
||||
if(istype(H.glasses, /obj/item/clothing/glasses)) // this is gonna be always true
|
||||
var/obj/item/clothing/glasses/glassass = H.glasses
|
||||
glassass.over_mask = TRUE
|
||||
H.update_inv_glasses()
|
||||
H.gloves.siemens_coefficient = 0 // black "insulated" gloves, since combat gloves look kinda shit
|
||||
var/obj/item/card/id/I = H.wear_id
|
||||
if(istype(I))
|
||||
apply_to_card(I, H, list(ACCESS_MAINT_TUNNELS), "Solar Federation Infilitrator", "lifetimeid")
|
||||
|
||||
qdel(H.GetComponent(/datum/component/footstep)) // they're literally stealth
|
||||
var/datum/martial_art/cqc/CQC = new()
|
||||
CQC.teach(H)
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
pixel_y = -32
|
||||
opacity = TRUE
|
||||
anchored = FALSE
|
||||
plane = SMOKE_PLANE
|
||||
layer = FLY_LAYER
|
||||
mouse_opacity = MOUSE_OPACITY_TRANSPARENT
|
||||
var/steps = 0
|
||||
var/lifetime = 5
|
||||
var/direction
|
||||
|
||||
@@ -349,6 +349,9 @@
|
||||
/obj/item/radio/headset/ert/alt/solgov
|
||||
name = "\improper Trans-Solar Federation Marine's bowman headset"
|
||||
|
||||
/obj/item/radio/headset/ert/alt/solgovviper
|
||||
name = "\improper Trans-Solar Federation Infiltrator's bowman headset"
|
||||
|
||||
/obj/item/radio/headset/ert/alt/commander
|
||||
name = "ERT commander's bowman headset"
|
||||
desc = "The headset of the boss. Protects ears from flashbangs. Can transmit even if telecomms are down."
|
||||
|
||||
@@ -67,11 +67,11 @@
|
||||
if(!M.restrained() && !M.stat && can_use())
|
||||
switch(over_object.name)
|
||||
if("r_hand")
|
||||
M.unEquip(src, silent = TRUE)
|
||||
M.put_in_r_hand(src)
|
||||
if(M.unEquip(src, silent = TRUE))
|
||||
M.put_in_r_hand(src)
|
||||
if("l_hand")
|
||||
M.unEquip(src, silent = TRUE)
|
||||
M.put_in_l_hand(src)
|
||||
if(M.unEquip(src, silent = TRUE))
|
||||
M.put_in_l_hand(src)
|
||||
add_fingerprint(usr)
|
||||
return
|
||||
|
||||
@@ -504,6 +504,25 @@
|
||||
new /obj/item/grenade/plastic/c4/thermite(src)
|
||||
update_icon()
|
||||
|
||||
/obj/item/storage/belt/viper
|
||||
name = "utility belt"
|
||||
desc = "Holds smokebombs, bolas, and knives. Excellent for sneaking around."
|
||||
icon_state = "securitybelt"
|
||||
item_state = "security"
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 18
|
||||
can_hold = list(
|
||||
/obj/item/grenade/smokebomb,
|
||||
/obj/item/restraints/legcuffs/bola,
|
||||
/obj/item/kitchen/knife/combat
|
||||
)
|
||||
|
||||
/obj/item/storage/belt/viper/populate_contents()
|
||||
for(var/I in 1 to 5)
|
||||
new /obj/item/grenade/smokebomb(src)
|
||||
new /obj/item/restraints/legcuffs/bola(src)
|
||||
new /obj/item/restraints/legcuffs/bola(src)
|
||||
|
||||
/obj/item/storage/belt/janitor
|
||||
name = "janibelt"
|
||||
desc = "A belt used to hold most janitorial supplies."
|
||||
|
||||
@@ -250,15 +250,6 @@
|
||||
for(var/I in 1 to 7)
|
||||
new /obj/item/ammo_casing/shotgun/tranquilizer(src)
|
||||
|
||||
/obj/item/storage/box/flashbangs
|
||||
name = "box of flashbangs (WARNING)"
|
||||
desc = "<B>WARNING: These devices are extremely dangerous and can cause blindness or deafness in repeated use.</B>"
|
||||
icon_state = "flashbang"
|
||||
|
||||
/obj/item/storage/box/flashbangs/populate_contents()
|
||||
for(var/I in 1 to 7)
|
||||
new /obj/item/grenade/flashbang(src)
|
||||
|
||||
/obj/item/storage/box/flashes
|
||||
name = "box of flashbulbs"
|
||||
desc = "<B>WARNING: Flashes can cause serious eye damage, protective eyewear is required.</B>"
|
||||
@@ -648,6 +639,15 @@
|
||||
for(var/I in 1 to 7)
|
||||
new /obj/item/grenade/flashbang(src)
|
||||
|
||||
/obj/item/storage/box/smoke_grenades
|
||||
name = "smoke grenades"
|
||||
desc = "A box with 7 smoke grenades."
|
||||
icon_state = "teargas_box"
|
||||
|
||||
/obj/item/storage/box/smoke_grenades/populate_contents()
|
||||
for(var/I in 1 to 7)
|
||||
new /obj/item/grenade/smokebomb(src)
|
||||
|
||||
/obj/item/storage/box/flashes
|
||||
name = "box of flashbulbs"
|
||||
desc = "<B>WARNING: Flashes can cause serious eye damage, protective eyewear is required.</B>"
|
||||
|
||||
@@ -36,3 +36,8 @@
|
||||
desc = "A formal uniform worn by the diplomatic representatives of the Trans-Solar Federation."
|
||||
icon_state = "solgovr"
|
||||
item_color = "solgovr"
|
||||
|
||||
/obj/item/clothing/under/solgov/viper
|
||||
name = "\improper Trans-Solar Federation Infiltrator uniform"
|
||||
desc = "Olive Drab camoflauge. Commonly known as OD. A battle uniform for TSF infiltrators."
|
||||
color = "#f5cf53" // custom sprites are for losers (this makes it a light green)
|
||||
|
||||
@@ -1390,6 +1390,13 @@ GLOBAL_LIST_INIT(slot_equipment_priority, list( \
|
||||
var/atom/movable/screen/plane_master/lighting/L = hud_used.plane_masters["[LIGHTING_PLANE]"]
|
||||
if(L)
|
||||
L.alpha = lighting_alpha
|
||||
var/obj/screen/plane_master/smoke/S = hud_used.plane_masters["[SMOKE_PLANE]"]
|
||||
if(S)
|
||||
S.alpha = 255
|
||||
if(sight & SEE_MOBS)
|
||||
S.alpha = 200
|
||||
if((sight & SEE_TURFS|SEE_MOBS|SEE_OBJS) == (SEE_TURFS|SEE_MOBS|SEE_OBJS))
|
||||
S.alpha = 128
|
||||
|
||||
sync_nightvision_screen() //Sync up the overlay used for nightvision to the amount of see_in_dark a mob has. This needs to be called everywhere sync_lighting_plane_alpha() is.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user