mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 10:12:45 +00:00
Merge branch 'bleeding-edge-freeze' of https://github.com/Baystation12/Baystation12 into bleeding-edge-freeze
Conflicts: html/changelog.html maps/tgstation.2.1.0.0.1.dmm
This commit is contained in:
@@ -66,7 +66,10 @@ var/list/admin_verbs_admin = list(
|
||||
/client/proc/toggleattacklogs,
|
||||
/client/proc/toggledebuglogs,
|
||||
/datum/admins/proc/show_skills,
|
||||
/client/proc/check_customitem_activity
|
||||
/client/proc/check_customitem_activity,
|
||||
/* Currently unticked.
|
||||
/client/proc/response_team
|
||||
*/
|
||||
)
|
||||
var/list/admin_verbs_ban = list(
|
||||
/client/proc/unban_panel,
|
||||
|
||||
@@ -88,7 +88,7 @@ BLIND // can't see anything
|
||||
desc = "Comfortable-looking shoes."
|
||||
gender = PLURAL //Carn: for grammarically correct text-parsing
|
||||
var/chained = 0
|
||||
|
||||
siemens_coefficient = 0.9
|
||||
body_parts_covered = FEET
|
||||
slot_flags = SLOT_FEET
|
||||
|
||||
@@ -105,6 +105,7 @@ BLIND // can't see anything
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
slot_flags = SLOT_OCLOTHING
|
||||
var/blood_overlay_type = "suit"
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Spacesuit
|
||||
//Note: Everything in modules/clothing/spacesuits should have the entire suit grouped together.
|
||||
@@ -120,6 +121,7 @@ BLIND // can't see anything
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/suit/space
|
||||
name = "Space suit"
|
||||
@@ -137,6 +139,7 @@ BLIND // can't see anything
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
|
||||
//Under clothing
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
name = "ninja gloves"
|
||||
icon_state = "s-ninja"
|
||||
item_state = "s-ninja"
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.2
|
||||
var/draining = 0
|
||||
var/candrain = 0
|
||||
var/mindrain = 200
|
||||
@@ -32,7 +32,7 @@
|
||||
name = "\improper SWAT Gloves"
|
||||
icon_state = "black"
|
||||
item_state = "swat_gl"
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
permeability_coefficient = 0.05
|
||||
|
||||
cold_protection = HANDS
|
||||
@@ -70,3 +70,4 @@
|
||||
icon_state = "leather"
|
||||
item_state = "ggloves"
|
||||
permeability_coefficient = 0.9
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
if(C.amount >= 2)
|
||||
C.use(2)
|
||||
wired = 1
|
||||
siemens_coefficient = 1
|
||||
siemens_coefficient = 3.0
|
||||
user << "<span class='notice'>You wrap some wires around [src].</span>"
|
||||
update_icon()
|
||||
else
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
armor = list(melee = 30, bullet = 5, laser = 20,energy = 10, bomb = 20, bio = 10, rad = 20)
|
||||
flags_inv = 0
|
||||
icon_action_button = "action_hardhat"
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
attack_self(mob/user)
|
||||
if(!isturf(user.loc))
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
min_cold_protection_temperature = HELMET_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
heat_protection = HEAD
|
||||
max_heat_protection_temperature = HELMET_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/head/helmet/warden
|
||||
name = "warden's hat"
|
||||
@@ -26,6 +26,7 @@
|
||||
flags = FPRINT|TABLEPASS|HEADCOVERSEYES
|
||||
armor = list(melee = 82, bullet = 15, laser = 5,energy = 5, bomb = 5, bio = 2, rad = 0)
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/head/helmet/swat
|
||||
name = "\improper SWAT helmet"
|
||||
@@ -37,6 +38,7 @@
|
||||
flags_inv = HIDEEARS|HIDEEYES
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0.5
|
||||
|
||||
/obj/item/clothing/head/helmet/thunderdome
|
||||
name = "\improper Thunderdome helmet"
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
item_state = "chef"
|
||||
desc = "The commander in chef's head wear."
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Captain: This probably shouldn't be space-worthy
|
||||
/obj/item/clothing/head/caphat
|
||||
@@ -15,6 +16,7 @@
|
||||
desc = "It's good being the king."
|
||||
flags = FPRINT|TABLEPASS
|
||||
item_state = "caphat"
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Captain: This probably shouldn't be space-worthy
|
||||
/obj/item/clothing/head/helmet/cap
|
||||
@@ -25,6 +27,7 @@
|
||||
flags_inv = 0
|
||||
cold_protection = HEAD
|
||||
min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Chaplain
|
||||
/obj/item/clothing/head/chaplain_hood
|
||||
@@ -32,6 +35,7 @@
|
||||
desc = "It's hood that covers the head. It keeps you warm during the space winters."
|
||||
icon_state = "chaplain_hood"
|
||||
flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Chaplain
|
||||
/obj/item/clothing/head/nun_hood
|
||||
@@ -39,6 +43,7 @@
|
||||
desc = "Maximum piety in this star system."
|
||||
icon_state = "nun_hood"
|
||||
flags = FPRINT|TABLEPASS|HEADCOVERSEYES|BLOCKHAIR
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Mime
|
||||
/obj/item/clothing/head/beret
|
||||
@@ -46,6 +51,7 @@
|
||||
desc = "A beret, an artists favorite headwear."
|
||||
icon_state = "beret"
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Security
|
||||
/obj/item/clothing/head/beret/sec
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
desc = "It's good to be emperor."
|
||||
flags = FPRINT|TABLEPASS
|
||||
item_state = "centhat"
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/head/hairflower
|
||||
name = "hair flower pin"
|
||||
@@ -26,6 +27,7 @@
|
||||
icon_state = "tophat"
|
||||
item_state = "that"
|
||||
flags = FPRINT|TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/head/redcoat
|
||||
name = "redcoat's hat"
|
||||
@@ -45,6 +47,7 @@
|
||||
icon_state = "plaguedoctor"
|
||||
flags = FPRINT | TABLEPASS
|
||||
permeability_coefficient = 0.01
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/head/hasturhood
|
||||
name = "hastur's hood"
|
||||
@@ -57,6 +60,7 @@
|
||||
desc = "It allows quick identification of trained medical personnel."
|
||||
icon_state = "nursehat"
|
||||
flags = FPRINT|TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/head/syndicatefake
|
||||
name = "red space-helmet replica"
|
||||
@@ -65,6 +69,7 @@
|
||||
desc = "A plastic replica of a syndicate agent's space helmet, you'll look just like a real murderous syndicate agent in this! This is a toy, it is not made for use in space!"
|
||||
flags = FPRINT | TABLEPASS | BLOCKHAIR
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||
siemens_coefficient = 2.0
|
||||
|
||||
/obj/item/clothing/head/cueball
|
||||
name = "cueball helmet"
|
||||
@@ -82,6 +87,7 @@
|
||||
flags = FPRINT|TABLEPASS
|
||||
flags_inv = 0
|
||||
|
||||
|
||||
/obj/item/clothing/head/greenbandana
|
||||
name = "green bandana"
|
||||
desc = "It's a green bandana with some fine nanotech lining."
|
||||
@@ -132,6 +138,7 @@
|
||||
desc = "A working man's cap."
|
||||
icon_state = "flat_cap"
|
||||
item_state = "detective"
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/head/pirate
|
||||
name = "pirate hat"
|
||||
@@ -210,6 +217,7 @@
|
||||
icon_state = "witch"
|
||||
item_state = "witch"
|
||||
flags = FPRINT | TABLEPASS | BLOCKHAIR
|
||||
siemens_coefficient = 2.0
|
||||
|
||||
/obj/item/clothing/head/chicken
|
||||
name = "chicken suit head"
|
||||
@@ -217,6 +225,7 @@
|
||||
icon_state = "chickenhead"
|
||||
item_state = "chickensuit"
|
||||
flags = FPRINT | TABLEPASS | BLOCKHAIR
|
||||
siemens_coefficient = 2.0
|
||||
|
||||
/obj/item/clothing/head/bearpelt
|
||||
name = "bear pelt hat"
|
||||
@@ -224,6 +233,7 @@
|
||||
icon_state = "bearpelt"
|
||||
item_state = "bearpelt"
|
||||
flags = FPRINT | TABLEPASS | BLOCKHAIR
|
||||
siemens_coefficient = 2.0
|
||||
|
||||
/obj/item/clothing/head/xenos
|
||||
name = "xenos helmet"
|
||||
@@ -232,3 +242,4 @@
|
||||
desc = "A helmet made out of chitinous alien hide."
|
||||
flags = FPRINT | TABLEPASS | BLOCKHAIR
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
|
||||
siemens_coefficient = 2.0
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = (HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE)
|
||||
icon_action_button = "action_welding"
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/head/welding/attack_self()
|
||||
toggle()
|
||||
@@ -158,6 +159,7 @@
|
||||
flags = FPRINT | TABLEPASS
|
||||
var/icon/mob
|
||||
var/icon/mob2
|
||||
siemens_coefficient = 1.5
|
||||
|
||||
update_icon(var/mob/living/carbon/human/user)
|
||||
if(!istype(user)) return
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
item_state = "helmet"
|
||||
color = "cargo"
|
||||
var/flipped = 0
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
dropped()
|
||||
src.icon_state = "[color]soft"
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
flags = FPRINT|TABLEPASS|BLOCKHAIR
|
||||
flags_inv = HIDEFACE
|
||||
w_class = 2
|
||||
siemens_coefficient = 3.0
|
||||
|
||||
/obj/item/clothing/mask/luchador/tecnicos
|
||||
name = "Tecnicos Mask"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
item_state = "gas_alt"
|
||||
gas_transfer_coefficient = 0.01
|
||||
permeability_coefficient = 0.01
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Plague Dr suit can be found in clothing/suits/bio.dm
|
||||
/obj/item/clothing/mask/gas/plaguedoctor
|
||||
@@ -21,11 +22,13 @@
|
||||
name = "\improper SWAT mask"
|
||||
desc = "A close-fitting tactical mask that can be connected to an air supply."
|
||||
icon_state = "swat"
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/mask/gas/syndicate
|
||||
name = "syndicate mask"
|
||||
desc = "A close-fitting tactical mask that can be connected to an air supply."
|
||||
icon_state = "swat"
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/mask/gas/voice
|
||||
name = "gas mask"
|
||||
@@ -41,6 +44,7 @@
|
||||
icon_state = "s-ninja"
|
||||
item_state = "s-ninja_mask"
|
||||
vchange = 1
|
||||
siemens_coefficient = 0.2
|
||||
|
||||
/obj/item/clothing/mask/gas/clown_hat
|
||||
name = "clown wig and mask"
|
||||
@@ -76,6 +80,7 @@
|
||||
name = "Death Commando Mask"
|
||||
icon_state = "death_commando_mask"
|
||||
item_state = "death_commando_mask"
|
||||
siemens_coefficient = 0.2
|
||||
|
||||
/obj/item/clothing/mask/gas/cyborg
|
||||
name = "cyborg visor"
|
||||
|
||||
@@ -81,6 +81,7 @@
|
||||
flags = FPRINT|TABLEPASS|BLOCKHAIR
|
||||
flags_inv = HIDEFACE
|
||||
w_class = 2
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/mask/horsehead
|
||||
name = "horse head mask"
|
||||
@@ -91,3 +92,4 @@
|
||||
flags_inv = HIDEFACE
|
||||
w_class = 2
|
||||
var/voicechange = 0
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
flags = NOSLIP
|
||||
origin_tech = "syndicate=3"
|
||||
var/list/clothing_choices = list()
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
/obj/item/clothing/shoes/mime
|
||||
name = "mime shoes"
|
||||
@@ -20,7 +20,7 @@
|
||||
icon_state = "swat"
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
flags = NOSLIP
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
/obj/item/clothing/shoes/combat //Basically SWAT shoes combined with galoshes.
|
||||
name = "combat boots"
|
||||
@@ -28,7 +28,7 @@
|
||||
icon_state = "swat"
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 25, bomb = 50, bio = 10, rad = 0)
|
||||
flags = NOSLIP
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
cold_protection = FEET
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
@@ -42,7 +42,7 @@
|
||||
permeability_coefficient = 0.01
|
||||
flags = NOSLIP
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.2
|
||||
|
||||
cold_protection = FEET
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
@@ -82,7 +82,7 @@
|
||||
icon_state = "jackboots"
|
||||
item_state = "jackboots"
|
||||
color = "hosred"
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/shoes/cult
|
||||
name = "boots"
|
||||
@@ -90,7 +90,7 @@
|
||||
icon_state = "cult"
|
||||
item_state = "cult"
|
||||
color = "cult"
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
cold_protection = FEET
|
||||
min_cold_protection_temperature = SHOE_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
|
||||
@@ -26,4 +26,4 @@
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state = "ert_commander"
|
||||
item_state = "helm-command"
|
||||
armor = list(melee = 50, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 100, rad = 60)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
/obj/item/clothing/suit/space/ert
|
||||
name = "emergency response team suit"
|
||||
@@ -19,7 +19,7 @@
|
||||
/obj/item/weapon/screwdriver, /obj/item/weapon/weldingtool, /obj/item/weapon/wirecutters, /obj/item/weapon/wrench, /obj/item/device/multitool, \
|
||||
/obj/item/device/radio, /obj/item/device/analyzer, /obj/item/weapon/gun/energy/laser, /obj/item/weapon/gun/energy/pulse_rifle, \
|
||||
/obj/item/weapon/gun/energy/taser, /obj/item/weapon/melee/baton, /obj/item/weapon/gun/energy/gun)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
//Commander
|
||||
/obj/item/clothing/head/helmet/space/ert/commander
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
//Deathsquad suit
|
||||
/obj/item/clothing/head/helmet/space/deathsquad
|
||||
@@ -34,7 +34,7 @@
|
||||
icon_state = "deathsquad"
|
||||
item_state = "deathsquad"
|
||||
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.2
|
||||
|
||||
/obj/item/clothing/head/helmet/space/deathsquad/beret
|
||||
name = "officer's beret"
|
||||
@@ -42,6 +42,7 @@
|
||||
icon_state = "beret_badge"
|
||||
armor = list(melee = 65, bullet = 55, laser = 35,energy = 20, bomb = 30, bio = 30, rad = 30)
|
||||
flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
//Space santa outfit suit
|
||||
/obj/item/clothing/head/helmet/space/santahat
|
||||
@@ -68,6 +69,7 @@
|
||||
item_state = "pirate"
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
flags = FPRINT | TABLEPASS | HEADCOVERSEYES | BLOCKHAIR | STOPSPRESSUREDMAGE
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/suit/space/pirate
|
||||
name = "pirate coat"
|
||||
@@ -78,5 +80,6 @@
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
slowdown = 0
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
item_state = "s-ninja_mask"
|
||||
allowed = list(/obj/item/weapon/cell)
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 25)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.2
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/space_ninja
|
||||
@@ -16,7 +16,7 @@
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/cell)
|
||||
slowdown = 0
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.2
|
||||
|
||||
//Important parts of the suit.
|
||||
var/mob/living/carbon/affecting = null//The wearer.
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
item_state = "syndie_helm"
|
||||
color = "syndi"
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
|
||||
/obj/item/clothing/suit/space/rig/syndi
|
||||
@@ -98,7 +98,7 @@
|
||||
w_class = 3
|
||||
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_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
|
||||
//Wizard Rig
|
||||
@@ -110,7 +110,7 @@
|
||||
color = "wiz"
|
||||
unacidable = 1 //No longer shall our kind be foiled by lone chemists with spray bottles!
|
||||
armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/suit/space/rig/wizard
|
||||
icon_state = "rig-wiz"
|
||||
@@ -121,7 +121,7 @@
|
||||
w_class = 3
|
||||
unacidable = 1
|
||||
armor = list(melee = 40, bullet = 20, laser = 20,energy = 20, bomb = 35, bio = 100, rad = 60)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
|
||||
//Medical Rig
|
||||
@@ -148,7 +148,7 @@
|
||||
item_state = "sec_helm"
|
||||
color = "sec"
|
||||
armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/suit/space/rig/security
|
||||
icon_state = "rig-sec"
|
||||
@@ -157,7 +157,7 @@
|
||||
item_state = "sec_hardsuit"
|
||||
armor = list(melee = 60, bullet = 10, laser = 30, energy = 5, bomb = 45, bio = 100, rad = 10)
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/weapon/melee/baton)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
|
||||
//Atmospherics Rig (BS12)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = "syndicate"
|
||||
desc = "Has a tag: Totally not property of an enemy corporation, honest."
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate
|
||||
name = "red space suit"
|
||||
@@ -17,7 +17,7 @@
|
||||
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
|
||||
slowdown = 1
|
||||
armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 30, bio = 30, rad = 30)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
|
||||
//Green syndicate space suit
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
min_cold_protection_temperature = ARMOR_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
heat_protection = UPPER_TORSO|LOWER_TORSO
|
||||
max_heat_protection_temperature = ARMOR_MAX_HEAT_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/vest
|
||||
@@ -42,6 +42,7 @@
|
||||
slowdown = 1
|
||||
armor = list(melee = 80, bullet = 10, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
siemens_coefficient = 0.5
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/bulletproof
|
||||
@@ -51,7 +52,7 @@
|
||||
item_state = "armor"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list(melee = 10, bullet = 80, laser = 10, energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
siemens_coefficient = 0.7
|
||||
|
||||
/obj/item/clothing/suit/armor/laserproof
|
||||
name = "Ablative Armor Vest"
|
||||
@@ -60,7 +61,7 @@
|
||||
item_state = "armor_reflec"
|
||||
blood_overlay_type = "armor"
|
||||
armor = list(melee = 10, bullet = 10, laser = 80, energy = 50, bomb = 0, bio = 0, rad = 0)
|
||||
|
||||
siemens_coefficient = 0
|
||||
|
||||
/obj/item/clothing/suit/armor/swat
|
||||
name = "swat suit"
|
||||
@@ -77,6 +78,7 @@
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0.5
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/swat/officer
|
||||
@@ -151,6 +153,7 @@
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
|
||||
min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECITON_TEMPERATURE
|
||||
siemens_coefficient = 0
|
||||
|
||||
/obj/item/clothing/suit/armor/heavy
|
||||
name = "heavy armor"
|
||||
@@ -162,6 +165,7 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
slowdown = 3
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
siemens_coefficient = 0
|
||||
|
||||
/obj/item/clothing/suit/armor/tdome
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
flags = FPRINT|TABLEPASS|HEADCOVERSEYES|HEADCOVERSMOUTH|BLOCKHAIR
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
|
||||
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/suit/bio_suit
|
||||
name = "bio suit"
|
||||
@@ -22,6 +23,7 @@
|
||||
allowed = list(/obj/item/weapon/tank/emergency_oxygen,/obj/item/weapon/pen,/obj/item/device/flashlight/pen)
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 20)
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
|
||||
//Standard biosuit, orange stripe
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
blood_overlay_type = "armor"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
allowed = list (/obj/item/weapon/gun/energy/laser/bluetag)
|
||||
siemens_coefficient = 3.0
|
||||
|
||||
/obj/item/clothing/suit/redtag
|
||||
name = "red laser tag armour"
|
||||
@@ -25,6 +26,7 @@
|
||||
blood_overlay_type = "armor"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO
|
||||
allowed = list (/obj/item/weapon/gun/energy/laser/redtag)
|
||||
siemens_coefficient = 3.0
|
||||
|
||||
/*
|
||||
* Costume
|
||||
@@ -145,6 +147,7 @@
|
||||
item_state = "chickensuit"
|
||||
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET
|
||||
flags_inv = HIDESHOES|HIDEJUMPSUIT
|
||||
siemens_coefficient = 2.0
|
||||
|
||||
|
||||
/obj/item/clothing/suit/monkeysuit
|
||||
@@ -154,6 +157,7 @@
|
||||
item_state = "monkeysuit"
|
||||
body_parts_covered = UPPER_TORSO|ARMS|LOWER_TORSO|LEGS|FEET|HANDS
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
siemens_coefficient = 2.0
|
||||
|
||||
|
||||
/obj/item/clothing/suit/holidaypriest
|
||||
@@ -269,30 +273,35 @@
|
||||
desc = "A rather skimpy pink swimsuit."
|
||||
icon_state = "stripper_p_under"
|
||||
color = "stripper_p"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/under/stripper/stripper_green
|
||||
name = "green swimsuit"
|
||||
desc = "A rather skimpy green swimsuit."
|
||||
icon_state = "stripper_g_under"
|
||||
color = "stripper_g"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/suit/stripper/stripper_pink
|
||||
name = "pink skimpy dress"
|
||||
desc = "A rather skimpy pink dress."
|
||||
icon_state = "stripper_p_over"
|
||||
item_state = "stripper_p"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/suit/stripper/stripper_green
|
||||
name = "green skimpy dress"
|
||||
desc = "A rather skimpy green dress."
|
||||
icon_state = "stripper_g_over"
|
||||
item_state = "stripper_g"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/under/stripper/mankini
|
||||
name = "the mankini"
|
||||
desc = "No honest man would wear this abomination"
|
||||
icon_state = "mankini"
|
||||
color = "mankini"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/suit/xenos
|
||||
name = "xenos suit"
|
||||
@@ -301,35 +310,42 @@
|
||||
item_state = "xenos_helm"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS|HANDS
|
||||
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
|
||||
|
||||
siemens_coefficient = 2.0
|
||||
//swimsuit
|
||||
/obj/item/clothing/under/swimsuit/
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/under/swimsuit/black
|
||||
name = "black swimsuit"
|
||||
desc = "An oldfashioned black swimsuit."
|
||||
icon_state = "swim_black"
|
||||
color = "swim_black"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/under/swimsuit/blue
|
||||
name = "blue swimsuit"
|
||||
desc = "An oldfashioned blue swimsuit."
|
||||
icon_state = "swim_blue"
|
||||
color = "swim_blue"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/under/swimsuit/purple
|
||||
name = "purple swimsuit"
|
||||
desc = "An oldfashioned purple swimsuit."
|
||||
icon_state = "swim_purp"
|
||||
color = "swim_purp"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/under/swimsuit/green
|
||||
name = "green swimsuit"
|
||||
desc = "An oldfashioned green swimsuit."
|
||||
icon_state = "swim_green"
|
||||
color = "swim_green"
|
||||
siemens_coefficient = 1
|
||||
|
||||
/obj/item/clothing/under/swimsuit/red
|
||||
name = "red swimsuit"
|
||||
desc = "An oldfashioned red swimsuit."
|
||||
icon_state = "swim_red"
|
||||
color = "swim_red"
|
||||
siemens_coefficient = 1
|
||||
|
||||
@@ -3,11 +3,13 @@
|
||||
desc = "Strange-looking hat-wear that most certainly belongs to a real magic user."
|
||||
icon_state = "wizard"
|
||||
//Not given any special protective value since the magic robes are full-body protection --NEO
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
/obj/item/clothing/head/wizard/red
|
||||
name = "red wizard hat"
|
||||
desc = "Strange-looking, red, hat-wear that most certainly belongs to a real magic user."
|
||||
icon_state = "redwizard"
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
/obj/item/clothing/head/wizard/fake
|
||||
name = "wizard hat"
|
||||
@@ -18,12 +20,14 @@
|
||||
name = "Witch Hat"
|
||||
desc = "Strange-looking hat-wear, makes you want to cast fireballs."
|
||||
icon_state = "marisa"
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
/obj/item/clothing/head/wizard/magus
|
||||
name = "Magus Helm"
|
||||
desc = "A mysterious helmet that hums with an unearthly power"
|
||||
icon_state = "magus"
|
||||
item_state = "magus"
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
|
||||
/obj/item/clothing/suit/wizrobe
|
||||
@@ -37,7 +41,7 @@
|
||||
armor = list(melee = 30, bullet = 20, laser = 20,energy = 20, bomb = 20, bio = 20, rad = 20)
|
||||
allowed = list(/obj/item/weapon/teleportation_scroll)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/red
|
||||
name = "red wizard robe"
|
||||
@@ -72,12 +76,14 @@
|
||||
item_state = "wizrobe"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
siemens_coefficient = 1.0
|
||||
|
||||
/obj/item/clothing/head/wizard/marisa/fake
|
||||
name = "Witch Hat"
|
||||
desc = "Strange-looking hat-wear, makes you want to cast fireballs."
|
||||
icon_state = "marisa"
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
siemens_coefficient = 1.0
|
||||
|
||||
/obj/item/clothing/suit/wizrobe/marisa/fake
|
||||
name = "Witch Robe"
|
||||
@@ -86,4 +92,5 @@
|
||||
item_state = "marisarobe"
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
siemens_coefficient = 1.0
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
color = "black"
|
||||
desc = "It's a plain jumpsuit. It seems to have a small dial on the wrist."
|
||||
origin_tech = "syndicate=3"
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.8
|
||||
var/list/clothing_choices = list()
|
||||
|
||||
New()
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
color = "warden"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/under/rank/security
|
||||
name = "security officer's jumpsuit"
|
||||
@@ -25,6 +26,7 @@
|
||||
color = "secred"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/under/rank/dispatch
|
||||
name = "dispatcher's uniform"
|
||||
@@ -34,6 +36,7 @@
|
||||
color = "dispatch"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/under/rank/security2
|
||||
name = "security officer's uniform"
|
||||
@@ -43,6 +46,7 @@
|
||||
color = "redshirt2"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/*
|
||||
* Detective
|
||||
@@ -55,6 +59,7 @@
|
||||
color = "detective"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
|
||||
/obj/item/clothing/head/det_hat
|
||||
@@ -63,6 +68,7 @@
|
||||
icon_state = "detective"
|
||||
allowed = list(/obj/item/weapon/reagent_containers/food/snacks/candy_corn, /obj/item/weapon/pen)
|
||||
armor = list(melee = 50, bullet = 5, laser = 25,energy = 10, bomb = 0, bio = 0, rad = 0)
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/*
|
||||
* Head of Security
|
||||
@@ -75,7 +81,7 @@
|
||||
color = "hosred"
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
flags = FPRINT | TABLEPASS
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
|
||||
/obj/item/clothing/head/helmet/HoS
|
||||
@@ -86,7 +92,7 @@
|
||||
armor = list(melee = 80, bullet = 60, laser = 50,energy = 10, bomb = 25, bio = 10, rad = 0)
|
||||
flags_inv = 0
|
||||
flags_inv = HIDEEARS
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.8
|
||||
|
||||
|
||||
/obj/item/clothing/suit/armor/hos
|
||||
@@ -97,7 +103,7 @@
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS
|
||||
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
|
||||
flags_inv = HIDEJUMPSUIT
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
|
||||
/obj/item/clothing/head/helmet/HoS/dermal
|
||||
@@ -105,6 +111,7 @@
|
||||
desc = "You're not quite sure how you manage to take it on and off, but it implants nicely in your head."
|
||||
icon_state = "dermal"
|
||||
item_state = "dermal"
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
//Jensen cosplay gear
|
||||
/obj/item/clothing/under/rank/head_of_security/jensen
|
||||
@@ -113,7 +120,7 @@
|
||||
icon_state = "jensen"
|
||||
item_state = "jensen"
|
||||
color = "jensen"
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
|
||||
/obj/item/clothing/suit/armor/hos/jensen
|
||||
name = "armored trenchcoat"
|
||||
@@ -121,4 +128,4 @@
|
||||
icon_state = "jensencoat"
|
||||
item_state = "jensencoat"
|
||||
flags_inv = 0
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.6
|
||||
@@ -6,7 +6,7 @@
|
||||
color = "syndicate"
|
||||
has_sensor = 0
|
||||
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
||||
siemens_coefficient = 0
|
||||
siemens_coefficient = 0.9
|
||||
|
||||
/obj/item/clothing/under/syndicate/combat
|
||||
name = "combat turtleneck"
|
||||
|
||||
@@ -14,16 +14,24 @@ emp_act
|
||||
if(istype(P, /obj/item/projectile/energy/electrode))
|
||||
var/datum/organ/external/select_area = get_organ(def_zone) // We're checking the outside, buddy!
|
||||
var/list/body_parts = list(head, wear_mask, wear_suit, w_uniform, gloves, shoes) // What all are we checking?
|
||||
// var/deflectchance=90 //Is it a CRITICAL HIT with that taser?
|
||||
for(var/bp in body_parts) //Make an unregulated var to pass around.
|
||||
if(!bp)
|
||||
continue //Does this thing we're shooting even exist?
|
||||
if(bp && istype(bp ,/obj/item/clothing)) // If it exists, and it's clothed
|
||||
var/obj/item/clothing/C = bp // Then call an argument C to be that clothing!
|
||||
if(C.body_parts_covered & select_area.body_part) // Is that body part being targeted covered?
|
||||
P.agony=P.agony*C.siemens_coefficient
|
||||
visible_message("\red [src]'s [C.name] absorbs some of the shock from the [P.name]!</B></red>")
|
||||
apply_effect(P.agony,AGONY,0)
|
||||
del P
|
||||
/* Commenting out new-old taser nerf.
|
||||
if(C.siemens_coefficient == 0) //If so, is that clothing shock proof?
|
||||
visible_message("\red <B>The [P.name] gets deflected by [src]'s [C.name]!</B>") //DEFLECT!
|
||||
del P
|
||||
|
||||
if(prob(deflectchance))
|
||||
visible_message("\red <B>The [P.name] gets deflected by [src]'s [C.name]!</B>") //DEFLECT!
|
||||
visible_message("\red <B> Taser hit for [P.damage] damage!</B>")
|
||||
del P
|
||||
*/
|
||||
/* Commenting out old Taser nerf
|
||||
if(wear_suit && istype(wear_suit, /obj/item/clothing/suit/armor))
|
||||
if(istype(P, /obj/item/projectile/energy/electrode))
|
||||
@@ -32,6 +40,7 @@ emp_act
|
||||
return -1
|
||||
*/
|
||||
// END TASER NERF
|
||||
|
||||
if(wear_suit && istype(wear_suit, /obj/item/clothing/suit/armor/laserproof))
|
||||
if(istype(P, /obj/item/projectile/energy) || istype(P, /obj/item/projectile/beam))
|
||||
var/reflectchance = 40 - round(P.damage/3)
|
||||
|
||||
@@ -961,19 +961,21 @@
|
||||
del a
|
||||
|
||||
if(halloss > 100)
|
||||
src << "<span class='notice'>You're too tired to keep going...</span>"
|
||||
src << "<span class='notice'>You're in too much pain to keep going...</span>"
|
||||
for(var/mob/O in oviewers(src, null))
|
||||
O.show_message("<B>[src]</B> slumps to the ground panting, too weak to continue fighting.", 1)
|
||||
Paralyse(3)
|
||||
O.show_message("<B>[src]</B> slumps to the ground, too weak to continue fighting.", 1)
|
||||
Paralyse(10)
|
||||
setHalLoss(99)
|
||||
|
||||
if(paralysis)
|
||||
AdjustParalysis(-1)
|
||||
blinded = 1
|
||||
stat = UNCONSCIOUS
|
||||
if(halloss > 0)
|
||||
adjustHalLoss(-6)
|
||||
else if(sleeping)
|
||||
handle_dreams()
|
||||
adjustHalLoss(-5)
|
||||
adjustHalLoss(-6)
|
||||
if (mind)
|
||||
if((mind.active && client != null) || immune_to_ssd) //This also checks whether a client is connected, if not, sleep is not reduced.
|
||||
sleeping = max(sleeping-1, 0)
|
||||
@@ -982,9 +984,14 @@
|
||||
if( prob(10) && health && !hal_crit )
|
||||
spawn(0)
|
||||
emote("snore")
|
||||
else if(resting)
|
||||
if(halloss > 0)
|
||||
adjustHalLoss(-6)
|
||||
//CONSCIOUS
|
||||
else
|
||||
stat = CONSCIOUS
|
||||
if(halloss > 0)
|
||||
adjustHalLoss(-2)
|
||||
|
||||
//Eyes
|
||||
if(sdisabilities & BLIND) //disabled-blind, doesn't get better on its own
|
||||
|
||||
@@ -444,9 +444,11 @@ proc/get_damage_icon_part(damage_state, body_part)
|
||||
if("skrell")
|
||||
race_icon = 'icons/mob/human_races/r_skrell.dmi'
|
||||
deform_icon = 'icons/mob/human_races/r_def_skrell.dmi'
|
||||
|
||||
if("vox")
|
||||
race_icon = 'icons/mob/human_races/r_vox.dmi'
|
||||
deform_icon = 'icons/mob/human_races/r_def_vox.dmi'
|
||||
|
||||
else
|
||||
race_icon = 'icons/mob/human_races/r_human.dmi'
|
||||
deform_icon = 'icons/mob/human_races/r_def_human.dmi'
|
||||
|
||||
@@ -49,6 +49,8 @@
|
||||
Weaken(effect/(blocked+1))
|
||||
if(PARALYZE)
|
||||
Paralyse(effect/(blocked+1))
|
||||
if(AGONY)
|
||||
halloss += effect // Useful for objects that cause "subdual" damage. PAIN!
|
||||
if(IRRADIATE)
|
||||
radiation += max((((effect - (effect*(getarmor(null, "rad")/100))))/(blocked+1)),0)//Rads auto check armor
|
||||
if(STUTTER)
|
||||
@@ -62,7 +64,7 @@
|
||||
return 1
|
||||
|
||||
|
||||
/mob/living/proc/apply_effects(var/stun = 0, var/weaken = 0, var/paralyze = 0, var/irradiate = 0, var/stutter = 0, var/eyeblur = 0, var/drowsy = 0, var/blocked = 0)
|
||||
/mob/living/proc/apply_effects(var/stun = 0, var/weaken = 0, var/paralyze = 0, var/irradiate = 0, var/stutter = 0, var/eyeblur = 0, var/drowsy = 0, var/blocked = 0, var/agony = 0)
|
||||
if(blocked >= 2) return 0
|
||||
if(stun) apply_effect(stun, STUN, blocked)
|
||||
if(weaken) apply_effect(weaken, WEAKEN, blocked)
|
||||
@@ -71,4 +73,5 @@
|
||||
if(stutter) apply_effect(stutter, STUTTER, blocked)
|
||||
if(eyeblur) apply_effect(eyeblur, EYE_BLUR, blocked)
|
||||
if(drowsy) apply_effect(drowsy, DROWSY, blocked)
|
||||
if(agony) apply_effect(agony, AGONY, blocked)
|
||||
return 1
|
||||
|
||||
@@ -178,28 +178,17 @@ var/list/ai_list = list()
|
||||
//usr <<"You can only change your display once!"
|
||||
//return
|
||||
|
||||
/mob/living/silicon/ai/Stat()
|
||||
..()
|
||||
statpanel("Status")
|
||||
if (client.statpanel == "Status")
|
||||
stat(null, "Station Time: [worldtime2text()]")
|
||||
if(emergency_shuttle.online && emergency_shuttle.location < 2)
|
||||
var/timeleft = emergency_shuttle.timeleft()
|
||||
if (timeleft)
|
||||
stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
|
||||
|
||||
if(ticker.mode.name == "AI malfunction")
|
||||
var/datum/game_mode/malfunction/malf = ticker.mode
|
||||
for (var/datum/mind/malfai in malf.malf_ai)
|
||||
if (mind == malfai)
|
||||
if (malf.apcs >= 3)
|
||||
stat(null, "Time until station control secured: [max(malf.AI_win_timeleft/(malf.apcs/3), 0)] seconds")
|
||||
|
||||
if(!stat)
|
||||
stat(null, text("System integrity: [(health+100)/2]%"))
|
||||
else
|
||||
stat(null, text("Systems nonfunctional"))
|
||||
// displays the malf_ai information if the AI is the malf
|
||||
/mob/living/silicon/ai/show_malf_ai()
|
||||
if(ticker.mode.name == "AI malfunction")
|
||||
var/datum/game_mode/malfunction/malf = ticker.mode
|
||||
for (var/datum/mind/malfai in malf.malf_ai)
|
||||
if (mind == malfai) // are we the evil one?
|
||||
if (malf.apcs >= 3)
|
||||
stat(null, "Time until station control secured: [max(malf.AI_win_timeleft/(malf.apcs/3), 0)] seconds")
|
||||
|
||||
|
||||
/mob/living/silicon/ai/proc/ai_alerts()
|
||||
set category = "AI Commands"
|
||||
set name = "Show Alerts"
|
||||
@@ -236,17 +225,11 @@ var/list/ai_list = list()
|
||||
viewalerts = 1
|
||||
src << browse(dat, "window=aialerts&can_close=0")
|
||||
|
||||
// this verb lets the ai see the stations manifest
|
||||
/mob/living/silicon/ai/proc/ai_roster()
|
||||
set category = "AI Commands"
|
||||
set name = "Show Crew Manifest"
|
||||
var/dat
|
||||
|
||||
dat += "<h4>Crew Manifest</h4>"
|
||||
if(data_core)
|
||||
dat += data_core.get_manifest(0) // make it monochrome
|
||||
dat += "<br>"
|
||||
src << browse(dat, "window=airoster")
|
||||
onclose(src, "airoster")
|
||||
show_station_manifest()
|
||||
|
||||
/mob/living/silicon/ai/proc/ai_call_shuttle()
|
||||
set category = "AI Commands"
|
||||
|
||||
@@ -75,23 +75,20 @@
|
||||
..()
|
||||
usr << browse_rsc('html/paigrid.png') // Go ahead and cache the interface resources as early as possible
|
||||
|
||||
|
||||
|
||||
// this function shows the information about being silenced as a pAI in the Status panel
|
||||
/mob/living/silicon/pai/proc/show_silenced()
|
||||
if(src.silence_time)
|
||||
var/timeleft = round((silence_time - world.timeofday)/10 ,1)
|
||||
stat(null, "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
|
||||
|
||||
|
||||
/mob/living/silicon/pai/Stat()
|
||||
..()
|
||||
statpanel("Status")
|
||||
if (src.client.statpanel == "Status")
|
||||
if(emergency_shuttle.online && emergency_shuttle.location < 2)
|
||||
var/timeleft = emergency_shuttle.timeleft()
|
||||
if (timeleft)
|
||||
stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
|
||||
if(src.silence_time)
|
||||
var/timeleft = round((silence_time - world.timeofday)/10 ,1)
|
||||
stat(null, "Communications system reboot in -[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
|
||||
if(!src.stat)
|
||||
stat(null, text("System integrity: [(src.health+100)/2]%"))
|
||||
else
|
||||
stat(null, text("Systems nonfunctional"))
|
||||
|
||||
show_silenced()
|
||||
|
||||
if (proc_holder_list.len)//Generic list for proc_holder objects.
|
||||
for(var/obj/effect/proc_holder/P in proc_holder_list)
|
||||
statpanel("[P.panel]","",P)
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
|
||||
var/obj/item/device/mmi/mmi = null
|
||||
|
||||
var/obj/item/device/pda/ai/rbPDA = null
|
||||
|
||||
var/opened = 0
|
||||
var/emagged = 0
|
||||
var/wiresexposed = 0
|
||||
@@ -101,6 +103,12 @@
|
||||
|
||||
playsound(loc, 'sound/voice/liveagain.ogg', 75, 1)
|
||||
|
||||
// setup the PDA and its name
|
||||
/mob/living/silicon/robot/proc/setup_PDA()
|
||||
if (!rbPDA)
|
||||
rbPDA = new/obj/item/device/pda/ai(src)
|
||||
rbPDA.set_name_and_job(custom_name,braintype)
|
||||
|
||||
//If there's an MMI in the robot, have it ejected when the mob goes away. --NEO
|
||||
//Improved /N
|
||||
/mob/living/silicon/robot/Del()
|
||||
@@ -238,6 +246,8 @@
|
||||
radio.config(channels)
|
||||
updateicon()
|
||||
|
||||
/
|
||||
|
||||
/mob/living/silicon/robot/proc/updatename(var/prefix as text)
|
||||
|
||||
if(istype(mmi, /obj/item/device/mmi/posibrain))
|
||||
@@ -252,6 +262,9 @@
|
||||
changed_name = "[(prefix ? "[prefix] " : "")][braintype]-[num2text(ident)]"
|
||||
real_name = changed_name
|
||||
name = real_name
|
||||
|
||||
// if we've changed our name, we also need to update the display name for our PDA
|
||||
setup_PDA()
|
||||
|
||||
/mob/living/silicon/robot/verb/Namepick()
|
||||
if(custom_name)
|
||||
@@ -271,6 +284,13 @@
|
||||
set name = "Show Alerts"
|
||||
robot_alerts()
|
||||
|
||||
// this verb lets cyborgs see the stations manifest
|
||||
/mob/living/silicon/robot/verb/cmd_station_manifest()
|
||||
set category = "Robot Commands"
|
||||
set name = "Show Station Manifest"
|
||||
show_station_manifest()
|
||||
|
||||
|
||||
/mob/living/silicon/robot/proc/robot_alerts()
|
||||
var/dat = "<HEAD><TITLE>Current Station Alerts</TITLE><META HTTP-EQUIV='Refresh' CONTENT='10'></HEAD><BODY>\n"
|
||||
dat += "<A HREF='?src=\ref[src];mach_close=robotalerts'>Close</A><BR><BR>"
|
||||
@@ -301,35 +321,52 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
// this function shows information about the malf_ai gameplay type in the status screen
|
||||
/mob/living/silicon/robot/show_malf_ai()
|
||||
..()
|
||||
if(ticker.mode.name == "AI malfunction")
|
||||
var/datum/game_mode/malfunction/malf = ticker.mode
|
||||
for (var/datum/mind/malfai in malf.malf_ai)
|
||||
if(connected_ai)
|
||||
if(connected_ai.mind == malfai)
|
||||
if(malf.apcs >= 3)
|
||||
stat(null, "Time until station control secured: [max(malf.AI_win_timeleft/(malf.apcs/3), 0)] seconds")
|
||||
else if(ticker.mode:malf_mode_declared)
|
||||
stat(null, "Time left: [max(ticker.mode:AI_win_timeleft/(ticker.mode:apcs/3), 0)]")
|
||||
return 0
|
||||
|
||||
|
||||
// this function displays jetpack pressure in the stat panel
|
||||
/mob/living/silicon/robot/proc/show_jetpack_pressure()
|
||||
// if you have a jetpack, show the internal tank pressure
|
||||
var/obj/item/weapon/tank/jetpack/current_jetpack = installed_jetpack()
|
||||
if (current_jetpack)
|
||||
stat("Internal Atmosphere Info", current_jetpack.name)
|
||||
stat("Tank Pressure", current_jetpack.air_contents.return_pressure())
|
||||
|
||||
|
||||
// this function returns the robots jetpack, if one is installed
|
||||
/mob/living/silicon/robot/proc/installed_jetpack()
|
||||
if(module)
|
||||
return (locate(/obj/item/weapon/tank/jetpack) in module.modules)
|
||||
return 0
|
||||
|
||||
|
||||
// this function displays the cyborgs current cell charge in the stat panel
|
||||
/mob/living/silicon/robot/proc/show_cell_power()
|
||||
if(cell)
|
||||
stat(null, text("Charge Left: [cell.charge]/[cell.maxcharge]"))
|
||||
else
|
||||
stat(null, text("No Cell Inserted!"))
|
||||
|
||||
|
||||
// update the status screen display
|
||||
/mob/living/silicon/robot/Stat()
|
||||
..()
|
||||
statpanel("Status")
|
||||
if (client.statpanel == "Status")
|
||||
if(emergency_shuttle.online && emergency_shuttle.location < 2)
|
||||
var/timeleft = emergency_shuttle.timeleft()
|
||||
if (timeleft)
|
||||
stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
|
||||
|
||||
if(ticker.mode.name == "AI malfunction")
|
||||
var/datum/game_mode/malfunction/malf = ticker.mode
|
||||
for (var/datum/mind/malfai in malf.malf_ai)
|
||||
if(connected_ai)
|
||||
if(connected_ai.mind == malfai)
|
||||
if(malf.apcs >= 3)
|
||||
stat(null, "Time until station control secured: [max(malf.AI_win_timeleft/(malf.apcs/3), 0)] seconds")
|
||||
else if(ticker.mode:malf_mode_declared)
|
||||
stat(null, "Time left: [max(ticker.mode:AI_win_timeleft/(ticker.mode:apcs/3), 0)]")
|
||||
|
||||
if(cell)
|
||||
stat(null, text("Charge Left: [cell.charge]/[cell.maxcharge]"))
|
||||
else
|
||||
stat(null, text("No Cell Inserted!"))
|
||||
|
||||
if(module)
|
||||
internal = locate(/obj/item/weapon/tank/jetpack) in module.modules
|
||||
if(internal)
|
||||
stat("Internal Atmosphere Info", internal.name)
|
||||
stat("Tank Pressure", internal.air_contents.return_pressure())
|
||||
show_cell_power()
|
||||
show_jetpack_pressure()
|
||||
|
||||
/mob/living/silicon/robot/restrained()
|
||||
return 0
|
||||
|
||||
@@ -144,4 +144,51 @@
|
||||
return 0
|
||||
if (bot.connected_ai == ai)
|
||||
return 1
|
||||
return 0
|
||||
return 0
|
||||
|
||||
|
||||
// this function shows the health of the pAI in the Status panel
|
||||
/mob/living/silicon/proc/show_system_integrity()
|
||||
if(!src.stat)
|
||||
stat(null, text("System integrity: [(src.health+100)/2]%"))
|
||||
else
|
||||
stat(null, text("Systems nonfunctional"))
|
||||
|
||||
|
||||
// This is a pure virtual function, it should be overwritten by all subclasses
|
||||
/mob/living/silicon/proc/show_malf_ai()
|
||||
return 0
|
||||
|
||||
|
||||
// this function displays the station time in the status panel
|
||||
/mob/living/silicon/proc/show_station_time()
|
||||
stat(null, "Station Time: [worldtime2text()]")
|
||||
|
||||
|
||||
// this function displays the shuttles ETA in the status panel if the shuttle has been called
|
||||
/mob/living/silicon/proc/show_emergency_shuttle_eta()
|
||||
if(emergency_shuttle.online && emergency_shuttle.location < 2)
|
||||
var/timeleft = emergency_shuttle.timeleft()
|
||||
if (timeleft)
|
||||
stat(null, "ETA-[(timeleft / 60) % 60]:[add_zero(num2text(timeleft % 60), 2)]")
|
||||
|
||||
|
||||
// This adds the basic clock, shuttle recall timer, and malf_ai info to all silicon lifeforms
|
||||
/mob/living/silicon/Stat()
|
||||
..()
|
||||
statpanel("Status")
|
||||
if (src.client.statpanel == "Status")
|
||||
show_station_time()
|
||||
show_emergency_shuttle_eta()
|
||||
show_system_integrity()
|
||||
show_malf_ai()
|
||||
|
||||
// this function displays the stations manifest in a separate window
|
||||
/mob/living/silicon/proc/show_station_manifest()
|
||||
var/dat
|
||||
dat += "<h4>Crew Manifest</h4>"
|
||||
if(data_core)
|
||||
dat += data_core.get_manifest(0) // make it monochrome
|
||||
dat += "<br>"
|
||||
src << browse(dat, "window=airoster")
|
||||
onclose(src, "airoster")
|
||||
@@ -144,8 +144,10 @@ datum/preferences
|
||||
icobase = 'icons/mob/human_races/r_lizard.dmi'
|
||||
if("Skrell")
|
||||
icobase = 'icons/mob/human_races/r_skrell.dmi'
|
||||
|
||||
if("Vox")
|
||||
icobase = 'icons/mob/human_races/r_vox.dmi'
|
||||
|
||||
else
|
||||
icobase = 'icons/mob/human_races/r_human.dmi'
|
||||
preview_icon = new /icon(icobase, "torso_[g]")
|
||||
|
||||
@@ -740,8 +740,10 @@ obj/item/weapon/organ/New(loc, mob/living/carbon/human/H)
|
||||
base = new('icons/mob/human_races/r_lizard.dmi')
|
||||
if("skrell")
|
||||
base = new('icons/mob/human_races/r_skrell.dmi')
|
||||
|
||||
if("vox")
|
||||
base = new('icons/mob/human_races/r_vox.dmi')
|
||||
|
||||
else
|
||||
base = new('icons/mob/human_races/r_human.dmi')
|
||||
if(base)
|
||||
|
||||
@@ -174,7 +174,7 @@
|
||||
playsound(user, fire_sound, 50, 1)
|
||||
in_chamber.on_hit(M)
|
||||
if (!in_chamber.nodamage)
|
||||
user.apply_damage(in_chamber.damage*2.5, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]")
|
||||
user.apply_damage(in_chamber.damage*100, in_chamber.damage_type, "head", used_weapon = "Point blank shot in the mouth with \a [in_chamber]")
|
||||
else
|
||||
user << "<span class = 'notice'>You feel dumb for trying this...</span>"
|
||||
del(in_chamber)
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
var/stutter = 0
|
||||
var/eyeblur = 0
|
||||
var/drowsy = 0
|
||||
var/agony = 0
|
||||
|
||||
|
||||
proc/on_hit(var/atom/target, var/blocked = 0)
|
||||
@@ -55,7 +56,7 @@
|
||||
if(!isliving(target)) return 0
|
||||
if(isanimal(target)) return 0
|
||||
var/mob/living/L = target
|
||||
L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, blocked)
|
||||
L.apply_effects(stun, weaken, paralyze, irradiate, stutter, eyeblur, drowsy, agony, blocked) // add in AGONY!
|
||||
return 1
|
||||
|
||||
proc/check_fire(var/mob/living/target as mob, var/mob/living/user as mob) //Checks if you can hit them or not.
|
||||
@@ -114,6 +115,7 @@
|
||||
msg_admin_attack("ATTACK: UNKNOWN shot [M] ([M.ckey]) with a [src]") //BS12 EDIT ALG
|
||||
|
||||
spawn(0)
|
||||
|
||||
if(A)
|
||||
if (!forcedodge)
|
||||
forcedodge = A.bullet_act(src, def_zone) // searches for return value
|
||||
@@ -125,7 +127,6 @@
|
||||
loc = A.loc
|
||||
permutated.Add(A)
|
||||
return 0
|
||||
|
||||
if(istype(A,/turf))
|
||||
for(var/obj/O in A)
|
||||
O.bullet_act(src)
|
||||
|
||||
@@ -9,14 +9,15 @@
|
||||
/obj/item/projectile/energy/electrode
|
||||
name = "electrode"
|
||||
icon_state = "spark"
|
||||
/* - Old taser bit
|
||||
nodamage = 0
|
||||
nodamage = 1
|
||||
/*
|
||||
stun = 10
|
||||
weaken = 10
|
||||
stutter = 10
|
||||
*/
|
||||
damage = 40
|
||||
agony = 40
|
||||
damage_type = HALLOSS
|
||||
//Damage will be handled on the MOB side, to prevent window shattering.
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user