Merge conflict Fix

Conflicts:
	icons/mob/suit.dmi
This commit is contained in:
SamCroswell
2015-03-08 20:38:07 -04:00
24 changed files with 417 additions and 74 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ var/global/vox_tick = 1
equip_to_slot_or_del(new /obj/item/clothing/under/vox/vox_robes(src), slot_w_uniform)
equip_to_slot_or_del(new /obj/item/clothing/shoes/magboots/vox(src), slot_shoes) // REPLACE THESE WITH CODED VOX ALTERNATIVES.
equip_to_slot_or_del(new /obj/item/clothing/gloves/yellow/vox(src), slot_gloves) // AS ABOVE.
equip_to_slot_or_del(new /obj/item/clothing/gloves/color/yellow/vox(src), slot_gloves) // AS ABOVE.
switch(vox_tick)
if(1) // Vox raider!
+1 -1
View File
@@ -162,7 +162,7 @@
corpseback = /obj/item/weapon/storage/backpack/industrial
corpseshoes = /obj/item/clothing/shoes/orange
corpsebelt = /obj/item/weapon/storage/belt/utility/full
corpsegloves = /obj/item/clothing/gloves/yellow
corpsegloves = /obj/item/clothing/gloves/color/yellow
corpsehelmet = /obj/item/clothing/head/hardhat
corpseid = 1
corpseidjob = "Station Engineer"
+5 -2
View File
@@ -8,6 +8,7 @@
//var/darkness_view = 0//Base human is 2
//var/invisa_view = 0
var/prescription = 0
var/see_darkness = 1
/obj/item/clothing/glasses/meson
name = "Optical Meson Scanner"
@@ -20,13 +21,14 @@
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/eyes.dmi'
)
/obj/item/clothing/glasses/meson/night
name = "Night Vision Optical Meson Scanner"
desc = "An Optical Meson Scanner fitted with an amplified visible light spectrum overlay, providing greater visual clarity in darkness."
icon_state = "nvgmeson"
item_state = "glasses"
darkness_view = 8
see_darkness = 0
/obj/item/clothing/glasses/meson/prescription
name = "prescription mesons"
@@ -49,7 +51,7 @@
desc = "nothing"
icon_state = "purple"
item_state = "glasses"
/obj/item/clothing/glasses/janitor
name = "Janitorial Goggles"
desc = "These'll keep the soap out of your eyes."
@@ -63,6 +65,7 @@
item_state = "glasses"
origin_tech = "magnets=2"
darkness_view = 8
see_darkness = 0
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/eyes.dmi'
+2
View File
@@ -26,6 +26,7 @@
icon_state = "healthhudnight"
item_state = "glasses"
darkness_view = 8
see_darkness = 0
/obj/item/clothing/glasses/hud/health/process_hud(var/mob/M)
process_med_hud(M,1)
@@ -53,6 +54,7 @@
desc = "An advanced heads-up display which provides id data and vision in complete darkness."
icon_state = "securityhudnight"
darkness_view = 8
see_darkness = 0
/obj/item/clothing/glasses/hud/security/process_hud(var/mob/M)
+1 -1
View File
@@ -173,7 +173,7 @@
_color = "vox-casual-2"
item_state = "vox-casual-2"
/obj/item/clothing/gloves/yellow/vox
/obj/item/clothing/gloves/color/yellow/vox
desc = "These bizarre gauntlets seem to be fitted for... bird claws?"
name = "insulated gauntlets"
icon_state = "gloves-vox"
+11 -30
View File
@@ -3,17 +3,15 @@
/obj/item/clothing/suit/space/eva/plasmaman
name = "plasmaman suit"
desc = "A special containment suit designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
w_class = 3
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs,/obj/item/weapon/tank)
slowdown = 2
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 0)
slowdown = 0
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE
species_restricted = list("Plasmaman")
flags = STOPSPRESSUREDMAGE | PLASMAGUARD
pressure_resistance = 40 * ONE_ATMOSPHERE //we can't change, so some resistance is needed
icon_state = "plasmaman_suit"
item_state = "plasmaman_suit"
@@ -41,7 +39,6 @@
name = "plasmaman helmet"
desc = "A special containment helmet designed to protect a plasmaman's volatile body from outside exposure and quickly extinguish it in emergencies."
flags = STOPSPRESSUREDMAGE | PLASMAGUARD
pressure_resistance = 40 * ONE_ATMOSPHERE
species_restricted = list("Plasmaman")
icon_state = "plasmaman_helmet0"
@@ -64,6 +61,7 @@
else user.SetLuminosity(user.luminosity - brightness_on)
user.update_inv_head()
/obj/item/clothing/head/helmet/space/eva/plasmaman/pickup(mob/user)
if(on)
user.SetLuminosity(user.luminosity + brightness_on)
@@ -82,7 +80,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/assistant
name = "plasmaman assistant suit"
icon_state = "plasmamanAssistant_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
name = "plasmaman assistant helmet"
@@ -92,29 +89,26 @@
/obj/item/clothing/suit/space/eva/plasmaman/atmostech
name = "plasmaman atmospheric suit"
icon_state = "plasmamanAtmos_suit"
armor = list(melee = 20, bullet = 0, laser = 0,energy = 0, bomb = 25, bio = 100, rad = 0)
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
max_heat_protection_temperature = FIRESUIT_MAX_HEAT_PROTECTION_TEMPERATURE
/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
name = "plasmaman atmospheric helmet"
icon_state = "plasmamanAtmos_helmet0"
base_state = "plasmamanAtmos_helmet"
armor = list(melee = 20, bullet = 0, laser = 0,energy = 0, bomb = 25, bio = 100, rad = 0)
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 0)
max_heat_protection_temperature = FIRE_HELMET_MAX_HEAT_PROTECTION_TEMPERATURE
/obj/item/clothing/suit/space/eva/plasmaman/engineer
name = "plasmaman engineer suit"
icon_state = "plasmamanEngineer_suit"
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
pressure_resistance = 200 * ONE_ATMOSPHERE
slowdown = 1
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer
name = "plasmaman engineer helmet"
icon_state = "plasmamanEngineer_helmet0"
base_state = "plasmamanEngineer_helmet"
armor = list(melee = 40, bullet = 5, laser = 20,energy = 5, bomb = 35, bio = 100, rad = 80)
pressure_resistance = 200 * ONE_ATMOSPHERE
armor = list(melee = 10, bullet = 5, laser = 10, energy = 5, bomb = 10, bio = 100, rad = 75)
/obj/item/clothing/suit/space/eva/plasmaman/engineer/ce
name = "plasmaman chief engineer suit"
@@ -133,7 +127,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/botanist
name = "plasmaman botanist suit"
icon_state = "plasmamanBotanist_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/botanist
name = "plasmaman botanist helmet"
@@ -143,7 +136,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/chaplain
name = "plasmaman chaplain suit"
icon_state = "plasmamanChaplain_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/chaplain
name = "plasmaman chaplain helmet"
@@ -153,7 +145,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/clown
name = "plasmaman clown suit"
icon_state = "plasmaman_Clown"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/clown
name = "plasmaman clown helmet"
@@ -163,7 +154,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/mime
name = "plasmaman mime suit"
icon_state = "plasmaman_Mime"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/mime
name = "plasmaman mime helmet"
@@ -173,7 +163,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/service
name = "plasmaman service suit"
icon_state = "plasmamanService_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/service
name = "plasmaman service helmet"
@@ -183,7 +172,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/janitor
name = "plasmaman janitor suit"
icon_state = "plasmamanJanitor_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/janitor
name = "plasmaman janitor helmet"
@@ -196,7 +184,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/cargo
name = "plasmaman cargo suit"
icon_state = "plasmamanCargo_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/cargo
name = "plasmaman cargo helmet"
@@ -206,13 +193,13 @@
/obj/item/clothing/suit/space/eva/plasmaman/miner
name = "plasmaman miner suit"
icon_state = "plasmamanMiner_suit"
armor = list(melee = 30, bullet = 5, laser = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
/obj/item/clothing/head/helmet/space/eva/plasmaman/miner
name = "plasmaman miner helmet"
icon_state = "plasmamanMiner_helmet0"
base_state = "plasmamanMiner_helmet"
armor = list(melee = 30, bullet = 5, laser = 15,energy = 5, bomb = 30, bio = 100, rad = 20)
armor = list(melee = 40, bullet = 5, laser = 10, energy = 5, bomb = 50, bio = 100, rad = 50)
// MEDSCI
@@ -220,7 +207,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/medical
name = "plasmaman medical suit"
icon_state = "plasmamanMedical_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/medical
name = "plasmaman medical helmet"
@@ -230,7 +216,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/medical/paramedic
name = "plasmaman paramedic suit"
icon_state = "plasmaman_Paramedic"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/paramedic
name = "plasmaman paramedic helmet"
@@ -240,7 +225,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/medical/chemist
name = "plasmaman chemist suit"
icon_state = "plasmaman_Chemist"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/medical/chemist
name = "plasmaman chemist helmet"
@@ -259,7 +243,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/science
name = "plasmaman scientist suit"
icon_state = "plasmamanScience_suit"
slowdown = 1
/obj/item/clothing/head/helmet/space/eva/plasmaman/science
name = "plasmaman scientist helmet"
@@ -281,14 +264,13 @@
/obj/item/clothing/suit/space/eva/plasmaman/security
name = "plasmaman security suit"
icon_state = "plasmamanSecurity_suit"
slowdown = 1
armor = list(melee = 40, bullet = 15, laser = 35,energy = 5, bomb = 35, bio = 100, rad = 20)
armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50)
/obj/item/clothing/head/helmet/space/eva/plasmaman/security
name = "plasmaman security helmet"
icon_state = "plasmamanSecurity_helmet0"
base_state = "plasmamanSecurity_helmet"
armor = list(melee = 40, bullet = 15, laser = 35,energy = 5, bomb = 35, bio = 100, rad = 20)
armor = list(melee = 30, bullet = 15, laser = 30,energy = 10, bomb = 10, bio = 100, rad = 50)
/obj/item/clothing/suit/space/eva/plasmaman/security/hos
name = "plasmaman head of security suit"
@@ -322,7 +304,6 @@
/obj/item/clothing/suit/space/eva/plasmaman/nuclear
name = "blood red plasmaman suit"
icon_state = "plasmaman_Nukeops"
slowdown = 1
armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/gun,/obj/item/ammo_casing,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/restraints/handcuffs)
siemens_coefficient = 0.6
@@ -0,0 +1,350 @@
// ** BEGIN NINJA CLOTHING DEFINES **
/obj/item/clothing/head/helmet/space/space_ninja
desc = "What may appear to be a simple black garment is in fact a highly sophisticated nano-weave helmet. Standard issue ninja gear."
name = "ninja hood"
icon_state = "s-ninja"
item_state = "s-ninja_hood"
armor = list(melee = 60, bullet = 60, laser = 45, energy = 15, bomb = 30, bio = 30, rad = 25)
unacidable = 1
siemens_coefficient = 0.2
/obj/item/clothing/mask/gas/voice/space_ninja
name = "ninja mask"
desc = "A close-fitting mask that acts both as an air filter and a post-modern fashion statement."
icon_state = "s-ninja(norm)"
item_state = "s-ninja_mask"
unacidable = 1
siemens_coefficient = 0.2
/obj/item/clothing/glasses/hud/space_ninja
name = "vision enhancement implant"
desc = "A high-tech ocular implant designed for Spider Clan operatives."
icon_state = "cybereye-off"
item_state = "eyepatch"
flags = NODROP
var/enabled = 0
var/energyConsumption = 0
var/antagHUDEnabled = 0
var/mesonEnabled = 0
var/materialEnabled = 0
var/thermalEnabled = 0
/obj/item/clothing/suit/space/space_ninja
name = "ninja suit"
desc = "A unique, vaccum-proof suit of nano-enhanced armor designed specifically for Spider Clan assassins."
icon_state = "s-ninja"
item_state = "s-ninja_suit"
allowed = list(/obj/item/weapon/gun, /obj/item/ammo_box, /obj/item/weapon/melee/baton, /obj/item/weapon/tank, /obj/item/weapon/stock_parts/cell)
slowdown = 0
unacidable = 1
armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30)
siemens_coefficient = 0.2
var/suitActive = 0
var/suitBusy = 0
var/obj/item/weapon/stock_parts/cell/suitCell
var/obj/item/clothing/head/helmet/space/space_ninja/suitHood
var/obj/item/clothing/gloves/space_ninja/suitGloves
var/obj/item/clothing/shoes/space_ninja/suitShoes
var/obj/item/clothing/mask/gas/voice/space_ninja/suitMask
var/obj/item/clothing/glasses/hud/space_ninja/suitGlasses
var/mob/living/carbon/human/suitOccupant
/obj/item/clothing/gloves/space_ninja
desc = "These nano-enhanced gloves insulate from electricity and provide fire resistance."
name = "ninja gloves"
icon_state = "s-ninja"
item_state = "s-ninja"
siemens_coefficient = 0
cold_protection = HANDS
min_cold_protection_temperature = GLOVES_MIN_COLD_PROTECTION_TEMPERATURE
heat_protection = HANDS
max_heat_protection_temperature = GLOVES_MAX_HEAT_PROTECTION_TEMPERATURE
transfer_prints = FALSE
/obj/item/clothing/shoes/space_ninja
name = "ninja shoes"
desc = "A pair of running shoes. Excellent for running and even better for smashing skulls."
icon_state = "s-ninja"
permeability_coefficient = 0.01
flags = NOSLIP
armor = list(melee = 60, bullet = 60, laser = 45,energy = 15, bomb = 30, bio = 30, rad = 30)
siemens_coefficient = 0.2
cold_protection = FEET
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECTION_TEMPERATURE
heat_protection = FEET
max_heat_protection_temperature = SHOE_MAX_HEAT_PROTECTION_TEMPERATURE
// ** END NINJA CLOTHING DEFINES **
// ** BEGIN NINJA SUIT PROCS **
/obj/item/clothing/suit/space/space_ninja/New()
suitCell = new/obj/item/weapon/stock_parts/cell/ninja // The Ninja starts out with a 10,000 energy cell.
if(suitCell.charge != suitCell.maxcharge)
suitCell.charge = suitCell.maxcharge
/obj/item/clothing/suit/space/space_ninja/verb/toggle_suit()
set category = "Space Ninja - Equiptment"
set name = "Toggle Suit"
if(usr.mind.special_role == "Ninja")
if(suitBusy)
usr << "<span style='color: #ff0000;'><b>ERROR: </b>Suit systems busy, cannot initiate [suitActive ? "de-activation" : "activation"] protocals at this time.</span>"
return
suitBusy = 1
if(suitActive && (alert("Confirm suit systems shutdown? This cannot be halted once it has started.", "Confirm Shutdown", "Yes", "No") == "Yes"))
usr << "<span style='color: #0000ff;'>Now de-initializing...</span>"
sleep(15)
usr << "<span style='color: #0000ff;'>Logging off, [usr.real_name]. Shutting down <b>SpiderOS</b>.</span>"
sleep(10)
usr<< "<span style='color: #0000ff;'>Primary system status: <B>OFFLINE</B>.\nBackup system status: <b>OFFLINE</b>.</span>"
sleep(5)
usr<< "<span style='color: #0000ff;'>VOID-shift device status: <B>OFFLINE</B>.\nCLOAK-tech device status: <B>OFFLINE</B>.</span>"
//TODO: Shut down any active abilities
sleep(10)
usr<< "<span style='color: #0000ff;'>Disconnecting neural-net interface...</span> <span style='color: #32CD32'><b>Success</b>.</span>"
usr.hud_used.instantiate()
usr.regenerate_icons()
sleep(5)
usr<< "<span style='color: #0000ff;'>Disengaging neural-net interface...</span> <span style='color: #32CD32'><b>Success</b>.</span>"
sleep(10)
usr<< "<span style='color: #0000ff;'>Unsecuring external locking mechanism...\nNeural-net abolished.\nOperation status: <B>FINISHED</B>.</span>"
//TODO: Grant verbs
toggle_suit_lock(usr)
usr.regenerate_icons()
suitBusy = 0
suitActive = 0
else if(!suitActive) // Activate the suit.
usr << "<span style='color: #0000ff;'>Now initializing...</span>"
sleep(15)
usr<< "<span style='color: #0000ff;'>Now establishing neural-net interface..."
if(usr.mind.special_role != "Ninja")
usr << "<span style='color: #ff0000;'><b>FĆAL �Rr�R</b>: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked."
return
sleep(10)
usr<< "<span style='color: #0000ff;'>Neural-net established. Now monitoring brainwave pattern. \nBrainwave pattern</span> <span style='color: #32CD32;'><b>GREEN</b></span><span style='color: #0000ff;'>, proceeding.</span>"
sleep(10)
usr<< "<span style='color: #0000ff;'>Securing external locking mechanism...</span>"
if(!toggle_suit_lock(usr))
return
sleep(5)
usr<< "<span style='color: #0000ff;'>Suit secured, extending neural-net interface...</span>"
usr.hud_used.human_hud('icons/mob/screen1_NinjaHUD.dmi',"#ffffff",255)
usr.regenerate_icons()
sleep(10)
usr<< "<span style='color: #0000ff;'>VOID-shift device status: <b>ONLINE</b>.\nCLOAK-tech device status:<b>ONLINE</b></span>"
sleep(5)
usr<< "<span style='color: #0000ff;'>Primary system status: <b>ONLINE</b>.\nBackup system status: <b>ONLINE</b>.\nCurrent energy capacity: <b>[suitCell.charge]/[suitCell.maxcharge]</b>.</span>"
sleep(10)
usr<< "<span style='color: #0000ff;'>All systems operational. Welcome to <b>SpiderOS</b>, [usr.real_name].</span>"
//TODO: Grant ninja verbs here.
suitBusy = 0
suitActive = 1
else
suitBusy = 0
usr << "<span style='color: #0000ff;'><b>NOTICE: </b>Suit de-activation protocals aborted.</span>"
else
usr << "<span style='color: #ff0000;'><b>FĆAL �Rr�R</b>: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked."
return
/obj/item/clothing/suit/space/space_ninja/proc/toggle_suit_lock(mob/living/carbon/human/user)
if(!suitActive)
if(!istype(user.wear_suit, /obj/item/clothing/suit/space/space_ninja))
user<< "<span style='color: #ff0000;'><b>ERROR:</b> Unable to locate user.\nABORTING...</span>"
return 0
if(!istype(user.head, /obj/item/clothing/head/helmet/space/space_ninja))
user<< "<span style='color: #ff0000;'><b>ERROR:</b> Unable to locate hood.\nABORTING...</span>"
return 0
if(!istype(user.gloves, /obj/item/clothing/gloves/space_ninja))
user<< "<span style='color: #ff0000;'><b>ERROR:</b> Unable to locate gloves.\nABORTING...</span>"
return 0
if(!istype(user.shoes, /obj/item/clothing/shoes/space_ninja))
user<< "<span style='color: #ff0000;'><b>ERROR:</b> Unable to locate foot gear.\nABORTING...</span>"
return 0
if(!istype(user.wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja))
user<< "<span style='color: #ff0000;'><b>ERROR:</b> Unable to locate mask.\nABORTING...</span>"
return 0
if(!istype(user.glasses, /obj/item/clothing/glasses/hud/space_ninja))
user<< "<span style='color: #ff0000;'><b>WARNING:</b> Unable to locate eye gear, vision enhancement unavailable.</span><span style='color: #0000ff;'>\nProceeding...</span>"
else
suitGlasses = user.glasses
suitGlasses.enabled = 1
suitGlasses.icon_state = "cybereye-green"
suitHood = user.head
suitMask = user.wear_mask
suitGloves = user.gloves
suitShoes = user.shoes
suitOccupant = user
flags |= NODROP
suitHood.flags |= NODROP
suitMask.flags |= NODROP
suitGloves.flags |= NODROP
suitGloves.pickpocket = 1
suitShoes.flags |= NODROP
suitShoes.slowdown = -2
icon_state = (user.gender == MALE ? "s-ninjan" : "s-ninjanf")
suitGloves.icon_state = "s-ninjan"
suitGloves.item_state = "s-ninjan"
return 1
else
flags &= ~NODROP
suitHood.flags &= ~NODROP
suitMask.flags &= ~NODROP
if(suitGlasses)
suitGlasses.enabled = 0
suitGlasses.icon_state = "cybereye-off"
suitGloves.flags &= ~NODROP
suitGloves.pickpocket = 0
suitShoes.flags &= ~NODROP
suitShoes.slowdown = -1
icon_state = "s-ninja"
suitGloves.icon_state = "s-ninja"
suitGloves.item_state = "s-ninja"
suitHood = null
suitMask = null
suitGlasses = null
suitGloves = null
suitShoes = null
suitOccupant = null
return 1
// ** END NINJA SUIT PROCS **
// **BEGIN NINJA GLASSES PROCS**
/obj/item/clothing/glasses/hud/space_ninja/process_hud(var/mob/M) // Antag HUD processing.
if(antagHUDEnabled) // We only process if the antag-vision mode is enabled.
if(!M) return
if(!M.client) return
var/client/C = M.client
for(var/mob/living/carbon/human/target in view(get_turf(M)))
if(M.see_invisible < target.invisibility)
continue
if(!C) continue
C.images += target.hud_list[SPECIALROLE_HUD]
/obj/item/clothing/glasses/hud/space_ninja/verb/modifyHUD(mob/user as mob)
set category = "Space Ninja - Equiptment"
set name = "Modify Vision"
if(usr.mind.special_role != "Ninja")
usr << "<span style='color: #ff0000;'><b>FĆAL �Rr�R</b>: µ§er n¤t rec¤gnized, c-c¤ntr-r¤£§-£§ £¤cked."
return
if(!enabled) // If the Ninja's suit is on and connected.
usr << "<span style='color: #ff0000;'><b>ERROR: </b>No power supply detected, cannot activate optical implant.</span>"
return
if(!user) // The user var is, so far as I can tell, required to refresh the window after each click.
user = usr
/*
* Each vision type the Ninja enables will drain more from his suit's battery per tick.
* For instance, if the Ninja were to rn around with thermals and AntagHUD on he would be losing an additional 10 energy per tick.
* Current vision modes are:
* - Night
* - Meson (Turfs)
* - Material (Objects)
* - Thermal (Mobs)
* - Antag HUD
*
* -Dave
*/
var/dat = {"
<center>Night Vision (2E) - <a href='?src=\ref[src];night=night'>[darkness_view ? "ENABLED" : "DISABLED"]</a><br>
Meson Scanner (2E) - <a href='?src=\ref[src];meson=meson'>[mesonEnabled ? "ENABLED" : "DISABLED"]</a><br>
Material Scanner (4E) - <a href='?src=\ref[src];material=material'>[materialEnabled ? "ENABLED" : "DISABLED"]</a><br>
Thermal Scanner (4E) - <a href='?src=\ref[src];thermal=thermal'>[thermalEnabled ? "ENABLED" : "DISABLED"]</a><br>
Threat Identification HUD (6E) - <a href='?src=\ref[src];antagHUD=antagHUD'>[antagHUDEnabled ? "ENABLED" : "DISABLED"]</a></center>
"}
var/datum/browser/popup = new(user, "SpiderOS", "SpiderOS Optical Interface", 310, 150)
popup.set_content(dat)
popup.open()
/obj/item/clothing/glasses/hud/space_ninja/Topic(href, href_list)
if(usr.stat != 0 || !enabled)
return 1
if(href_list["night"])
darkness_view = (darkness_view ? 0 : 8)
see_darkness = (darkness_view ? 0 : 1)
energyConsumption += (darkness_view ? 2 : -2)
usr << "Light amplification <span style='color: #0000ff;'><b>[(darkness_view ? "ENABLED" : "DISABLED")]</b></span>."
else if(href_list["meson"])
mesonEnabled = (mesonEnabled ? 0 : 1)
if(mesonEnabled)
vision_flags |= SEE_TURFS
else
vision_flags &= ~SEE_TURFS
energyConsumption += (mesonEnabled ? 2 : -2)
usr << "Meson scanning <span style='color: #0000ff;'><b>[(mesonEnabled ? "ENABLED" : "DISABLED")]</b></span>."
else if(href_list["material"])
materialEnabled = (materialEnabled ? 0 : 1)
if(materialEnabled)
vision_flags |= SEE_OBJS
else
vision_flags &= ~SEE_OBJS
energyConsumption += (materialEnabled ? 4 : -4)
usr << "Material scanning <span style='color: #0000ff;'><b>[(materialEnabled ? "ENABLED" : "DISABLED")]</b></span>."
else if(href_list["thermal"])
thermalEnabled = (thermalEnabled ? 0 : 1)
if(thermalEnabled)
vision_flags |= SEE_MOBS
invisa_view = 2
else
vision_flags &= ~SEE_MOBS
invisa_view = 0
energyConsumption += (thermalEnabled ? 4 : -4)
usr << "Thermal scanning <span style='color: #0000ff;'><b>[(thermalEnabled ? "ENABLED" : "DISABLED")]</b></span>."
else if(href_list["antagHUD"])
antagHUDEnabled = (antagHUDEnabled ? 0 : 1)
energyConsumption += (antagHUDEnabled ? 6 : -6)
usr << "Threat identification HUD <span style='color: #0000ff;'><b>[(antagHUDEnabled ? "ENABLED" : "DISABLED")]</b></span>."
modifyHUD(usr) // Re-call the verb to get a fresh version of the window.
return
// **END NINJA GLASSES PROCS**
+4 -6
View File
@@ -1230,12 +1230,12 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if(glasses)
var/obj/item/clothing/glasses/G = glasses
if(istype(G))
see_in_dark += G.darkness_view
see_in_dark = (G.darkness_view ? see_in_dark + G.darkness_view : species.darksight) // Otherwise we keep our darkness view with togglable nightvision.
if(G.vision_flags) // MESONS
sight |= G.vision_flags
if(!druggy)
see_invisible = SEE_INVISIBLE_MINIMUM
if(istype(G,/obj/item/clothing/glasses/night))
if(!G.see_darkness)
see_invisible = SEE_INVISIBLE_MINIMUM
/* HUD shit goes here, as long as it doesn't modify sight flags */
// The purpose of this is to stop xray and w/e from preventing you from using huds -- Love, Doohl
@@ -1245,15 +1245,13 @@ var/global/list/brutefireloss_overlays = list("1" = image("icon" = 'icons/mob/sc
if(istype(glasses, /obj/item/clothing/glasses/sunglasses/sechud))
var/obj/item/clothing/glasses/sunglasses/sechud/O = glasses
if(O.hud) O.hud.process_hud(src)
if(!druggy) see_invisible = SEE_INVISIBLE_LIVING
if(!druggy) see_invisible = (!O.see_darkness || O.vision_flags ? SEE_INVISIBLE_MINIMUM : SEE_INVISIBLE_LIVING) // So we can have meson/thermal/material sunglasses
if(istype(glasses, /obj/item/clothing/glasses/hud))
var/obj/item/clothing/glasses/hud/O = glasses
O.process_hud(src)
if(!druggy)
see_invisible = SEE_INVISIBLE_LIVING
if(istype(O,/obj/item/clothing/glasses/hud/security/night) || istype(O,/obj/item/clothing/glasses/hud/health/night))
see_invisible = SEE_INVISIBLE_MINIMUM
see_invisible = (!O.see_darkness || O.vision_flags ? SEE_INVISIBLE_MINIMUM : SEE_INVISIBLE_LIVING)
else if(!seer)
see_in_dark = species.darksight
see_invisible = SEE_INVISIBLE_LIVING
@@ -48,22 +48,22 @@
if("Chief Engineer")
suit=/obj/item/clothing/suit/space/eva/plasmaman/engineer/ce
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/engineer/ce
if("Atmospheric Technician")
if("Life Support Specialist")
suit=/obj/item/clothing/suit/space/eva/plasmaman/atmostech
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/atmostech
if("Warden","Detective","Security Officer")
if("Warden","Detective","Security Officer","Security Pod Pilot")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/
if("Head of Security")
if("Head of Security", "Magistrate")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hos
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hos
if("Captain")
if("Captain", "Blueshield")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/captain
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/captain
if("Head of Personnel")
if("Head of Personnel", "Nanotrasen Representative")
suit=/obj/item/clothing/suit/space/eva/plasmaman/security/hop
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/security/hop
if("Medical Doctor")
if("Medical Doctor","Brig Physician")
suit=/obj/item/clothing/suit/space/eva/plasmaman/medical
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/medical
if("Paramedic")
@@ -93,7 +93,7 @@
if("Janitor")
suit=/obj/item/clothing/suit/space/eva/plasmaman/janitor
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/janitor
if("Assistant")
if("Civilian", "Barber")
suit=/obj/item/clothing/suit/space/eva/plasmaman/assistant
helm=/obj/item/clothing/head/helmet/space/eva/plasmaman/assistant
if("Clown")