mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 04:57:12 +01:00
Merge branch 'master' into PAIN
This commit is contained in:
@@ -14,7 +14,7 @@ AI MODULES
|
||||
desc = "An AI Module for transmitting encrypted instructions to the AI."
|
||||
flags = CONDUCT
|
||||
force = 5.0
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5.0
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
@@ -95,7 +95,7 @@ AI MODULES
|
||||
name = "\improper 'Safeguard' AI module"
|
||||
var/targetName = ""
|
||||
desc = "A 'safeguard' AI module: 'Safeguard <name>. Individuals that threaten <name> are not crew and must be eliminated.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = "programming=3;materials=3"
|
||||
|
||||
/obj/item/weapon/aiModule/safeguard/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -121,7 +121,7 @@ AI MODULES
|
||||
name = "\improper 'oneCrewMember' AI module"
|
||||
var/targetName = ""
|
||||
desc = "A 'one human' AI module: 'Only <name> is crew.'"
|
||||
origin_tech = "programming=3;materials=6" //made with diamonds!
|
||||
origin_tech = "programming=4;materials=4"
|
||||
|
||||
/obj/item/weapon/aiModule/oneCrewMember/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -152,7 +152,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/protectStation
|
||||
name = "\improper 'ProtectStation' AI module"
|
||||
desc = "A 'protect station' AI module: 'Protect the space station against damage. Anyone you see harming the station is to be no longer considered crew, and is a threat to the station which must be neutralized.'"
|
||||
origin_tech = "programming=3;materials=4" //made of gold
|
||||
origin_tech = "programming=4;materials=4" //made of gold
|
||||
|
||||
/obj/item/weapon/aiModule/protectStation/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -182,7 +182,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/oxygen
|
||||
name = "\improper 'OxygenIsToxicToHumans' AI module"
|
||||
desc = "A 'OxygenIsToxicToHumans' AI module: 'Oxygen is highly toxic to crew members, and must be purged from the station. Prevent, by any means necessary, anyone from exposing the station to this toxic gas. Extreme cold is the most effective method of healing the damage Oxygen does to a crew member.'"
|
||||
origin_tech = "programming=3;biotech=2;materials=4"
|
||||
origin_tech = "programming=4;biotech=2;materials=4"
|
||||
|
||||
/obj/item/weapon/aiModule/oxygen/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -231,7 +231,7 @@ AI MODULES
|
||||
name = "\improper 'Reset' AI module"
|
||||
var/targetName = "name"
|
||||
desc = "A 'reset' AI module: 'Clears all laws except for the core laws.'"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
origin_tech = "programming=3;materials=2"
|
||||
|
||||
/obj/item/weapon/aiModule/reset/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
log_law_changes(target, sender)
|
||||
@@ -248,7 +248,7 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/purge // -- TLE
|
||||
name = "\improper 'Purge' AI module"
|
||||
desc = "A 'purge' AI Module: 'Purges all laws.'"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = "programming=5;materials=4"
|
||||
|
||||
/obj/item/weapon/aiModule/purge/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
..()
|
||||
@@ -305,14 +305,14 @@ AI MODULES
|
||||
/obj/item/weapon/aiModule/paladin // -- NEO
|
||||
name = "\improper 'P.A.L.A.D.I.N.' core AI module"
|
||||
desc = "A P.A.L.A.D.I.N. Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = "programming=3;materials=4"
|
||||
laws = new/datum/ai_laws/paladin
|
||||
|
||||
/****************** T.Y.R.A.N.T. *****************/
|
||||
/obj/item/weapon/aiModule/tyrant // -- Darem
|
||||
name = "\improper 'T.Y.R.A.N.T.' core AI module"
|
||||
desc = "A T.Y.R.A.N.T. Core AI Module: 'Reconfigures the AI's core laws.'"
|
||||
origin_tech = "programming=3;materials=6;syndicate=2"
|
||||
origin_tech = "programming=3;materials=4;syndicate=1"
|
||||
laws = new/datum/ai_laws/tyrant()
|
||||
|
||||
/******************** Antimov ********************/
|
||||
@@ -327,7 +327,7 @@ AI MODULES
|
||||
name = "\improper 'Freeform' core AI module"
|
||||
var/newFreeFormLaw = ""
|
||||
desc = "A 'freeform' Core AI module: '<freeform>'"
|
||||
origin_tech = "programming=3;materials=6"
|
||||
origin_tech = "programming=5;materials=4"
|
||||
|
||||
/obj/item/weapon/aiModule/freeformcore/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -353,7 +353,7 @@ AI MODULES
|
||||
name = "hacked AI module"
|
||||
var/newFreeFormLaw = ""
|
||||
desc = "A hacked AI law module: '<freeform>'"
|
||||
origin_tech = "programming=3;materials=6;syndicate=7"
|
||||
origin_tech = "programming=5;materials=5;syndicate=5"
|
||||
|
||||
/obj/item/weapon/aiModule/syndicate/attack_self(var/mob/user as mob)
|
||||
..()
|
||||
@@ -384,7 +384,7 @@ AI MODULES
|
||||
desc = "A little toy model AI core with real law uploading action!" //Note: subtle tell
|
||||
icon = 'icons/obj/toy.dmi'
|
||||
icon_state = "AI"
|
||||
origin_tech = "programming=3;materials=6;syndicate=7"
|
||||
origin_tech = "programming=6;materials=5;syndicate=6"
|
||||
laws = list("")
|
||||
|
||||
/obj/item/weapon/aiModule/toyAI/transmitInstructions(var/mob/living/silicon/ai/target, var/mob/sender)
|
||||
@@ -397,4 +397,4 @@ AI MODULES
|
||||
laws[1] = generate_ion_law()
|
||||
to_chat(user, "<span class='notice'>You press the button on [src].</span>")
|
||||
playsound(user, 'sound/machines/click.ogg', 20, 1)
|
||||
src.loc.visible_message("<span class='warning'>[bicon(src)] [laws[1]]</span>")
|
||||
src.loc.visible_message("<span class='warning'>[bicon(src)] [laws[1]]</span>")
|
||||
|
||||
@@ -17,7 +17,7 @@ RCD
|
||||
throwforce = 10.0
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
materials = list(MAT_METAL = 30000)
|
||||
origin_tech = "engineering=4;materials=2"
|
||||
toolspeed = 1
|
||||
@@ -394,7 +394,7 @@ RCD
|
||||
opacity = 0
|
||||
density = 0
|
||||
anchored = 0.0
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = "materials=3"
|
||||
materials = list(MAT_METAL=16000, MAT_GLASS=8000)
|
||||
var/ammoamt = 20
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
throw_speed = 1
|
||||
throw_range = 7
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "engineering=4;materials=4"
|
||||
origin_tech = "engineering=4;materials=2"
|
||||
var/max_amount = 90
|
||||
var/active = 0
|
||||
var/obj/structure/cable/last = null
|
||||
|
||||
@@ -13,7 +13,7 @@ RSF
|
||||
anchored = 0.0
|
||||
var/matter = 0
|
||||
var/mode = 1
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/rsf/New()
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
@@ -231,4 +231,4 @@ RSF
|
||||
matter--
|
||||
to_chat(user, "The RSF now holds [matter]/30 fabrication-units.")
|
||||
desc = "A RSF. It currently holds [matter]/30 fabrication-units."
|
||||
return
|
||||
return
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
throwforce_on = 5
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
w_class_on = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
w_class_on = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("attacked", "slashed", "gored", "sliced", "torn", "ripped", "butchered", "cut")
|
||||
attack_verb_on = list()
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
force = 10
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
||||
var/bees_left = 10
|
||||
var/list/blood_list = list()
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
name = "card"
|
||||
desc = "A card."
|
||||
icon = 'icons/obj/card.dmi'
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/associated_account_number = 0
|
||||
|
||||
var/list/files = list( )
|
||||
@@ -299,7 +299,7 @@
|
||||
/obj/item/weapon/card/id/syndicate
|
||||
name = "agent card"
|
||||
var/list/initial_access = list(access_maint_tunnels, access_syndicate, access_external_airlocks)
|
||||
origin_tech = "syndicate=3"
|
||||
origin_tech = "syndicate=1"
|
||||
var/registered_user = null
|
||||
untrackable = 1
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
throwforce = 3.0
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("warned", "cautioned", "smashed")
|
||||
|
||||
proximity_sign
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
icon = 'icons/obj/chronos.dmi'
|
||||
icon_state = "chronobackpack"
|
||||
item_state = "backpack"
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK
|
||||
slowdown = 1
|
||||
actions_types = list(/datum/action/item_action/equip_unequip_TED_Gun)
|
||||
@@ -46,7 +46,7 @@
|
||||
icon = 'icons/obj/chronos.dmi'
|
||||
icon_state = "chronogun"
|
||||
item_state = "chronogun"
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
flags = NODROP
|
||||
ammo_type = list(/obj/item/ammo_casing/energy/chrono_beam)
|
||||
can_charge = 0
|
||||
|
||||
@@ -20,7 +20,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
throw_speed = 0.5
|
||||
item_state = "cigoff"
|
||||
slot_flags = SLOT_EARS|SLOT_MASK
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
body_parts_covered = null
|
||||
attack_verb = list("burnt", "singed")
|
||||
var/lit = 0
|
||||
@@ -285,7 +285,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
desc = "A manky old cigarette butt."
|
||||
icon = 'icons/obj/clothing/masks.dmi'
|
||||
icon_state = "cigbutt"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 1
|
||||
|
||||
/obj/item/weapon/cigbutt/New()
|
||||
@@ -389,7 +389,7 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
desc = "A thin piece of paper used to make fine smokeables."
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
icon_state = "cig_paper"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
|
||||
/obj/item/weapon/rollingpaper/afterattack(atom/target, mob/user, proximity)
|
||||
if(!proximity)
|
||||
@@ -410,4 +410,4 @@ LIGHTERS ARE IN LIGHTERS.DM
|
||||
else
|
||||
to_chat(user, "<span class='warning'>You need to dry this first!</span>")
|
||||
else
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
item_state = "bike_horn"
|
||||
hitsound = null
|
||||
throwforce = 3
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 3
|
||||
throw_range = 15
|
||||
attack_verb = list("HONKED")
|
||||
@@ -89,6 +89,7 @@
|
||||
icon_state = "air_horn"
|
||||
honk_sound = 'sound/items/AirHorn2.ogg'
|
||||
cooldowntime = 50
|
||||
origin_tech = "materials=4;engineering=4"
|
||||
|
||||
/obj/item/weapon/bikehorn/golden
|
||||
name = "golden bike horn"
|
||||
@@ -112,4 +113,4 @@
|
||||
var/mob/living/carbon/human/H = M
|
||||
if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs) || H.ear_deaf)
|
||||
continue
|
||||
M.emote("flip")
|
||||
M.emote("flip")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A generic brand of lipstick."
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "lipstick"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/colour = "red"
|
||||
var/open = 0
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "razor"
|
||||
flags = CONDUCT
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
usesound = 'sound/items/Welder2.ogg'
|
||||
toolspeed = 1
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
icon_state = "gavelhammer"
|
||||
force = 5.0
|
||||
throwforce = 6.0
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("bashed", "battered", "judged", "whacked")
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
icon_state = "gavelblock"
|
||||
force = 2.0
|
||||
throwforce = 2.0
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/gavelblock/attackby(obj/item/I, mob/user, params)
|
||||
@@ -33,4 +33,4 @@
|
||||
playsound(loc, 'sound/items/gavel.ogg', 100, 1)
|
||||
user.visible_message("<span class='warning'>[user] strikes \the [src] with \the [I].</span>")
|
||||
else
|
||||
return
|
||||
return
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
slot_flags = SLOT_BACK
|
||||
force = 5
|
||||
throwforce = 6
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
origin_tech = "biotech=4"
|
||||
actions_types = list(/datum/action/item_action/toggle_paddles)
|
||||
species_fit = list("Vox")
|
||||
@@ -112,8 +112,6 @@
|
||||
/obj/item/weapon/defibrillator/emp_act(severity)
|
||||
if(bcell)
|
||||
deductcharge(1000 / severity)
|
||||
if(bcell.reliability != 100 && prob(50/severity))
|
||||
bcell.reliability -= 10 / severity
|
||||
if(safety)
|
||||
safety = 0
|
||||
src.visible_message("<span class='notice'>[src] beeps: Safety protocols disabled!</span>")
|
||||
@@ -206,9 +204,9 @@
|
||||
desc = "A belt-equipped defibrillator that can be rapidly deployed."
|
||||
icon_state = "defibcompact"
|
||||
item_state = "defibcompact"
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
slot_flags = SLOT_BELT
|
||||
origin_tech = "biotech=4"
|
||||
origin_tech = "biotech=5"
|
||||
|
||||
/obj/item/weapon/defibrillator/compact/item_action_slot_check(slot, mob/user)
|
||||
if(slot == slot_belt)
|
||||
@@ -251,7 +249,7 @@
|
||||
item_state = "defibpaddles"
|
||||
force = 0
|
||||
throwforce = 6
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
toolspeed = 1
|
||||
|
||||
var/revivecost = 1000
|
||||
@@ -330,8 +328,8 @@
|
||||
H.updatehealth() //forces health update before next life tick
|
||||
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
H.emote("gasp")
|
||||
if(!H.heart_attack && (prob(10) || defib.combat)) // Your heart explodes.
|
||||
H.heart_attack = 1
|
||||
if(!H.undergoing_cardiac_arrest() && (prob(10) || defib.combat)) // Your heart explodes.
|
||||
H.set_heartattack(TRUE)
|
||||
add_logs(user, M, "stunned", object="defibrillator")
|
||||
defib.deductcharge(revivecost)
|
||||
cooldown = 1
|
||||
@@ -367,7 +365,7 @@
|
||||
busy = 0
|
||||
update_icon()
|
||||
return
|
||||
if(H.heart_attack)
|
||||
if(H.undergoing_cardiac_arrest())
|
||||
if(!H.get_int_organ(/obj/item/organ/internal/heart) && !H.get_int_organ(/obj/item/organ/internal/brain/slime)) //prevents defibing someone still alive suffering from a heart attack attack if they lack a heart
|
||||
user.visible_message("<span class='boldnotice'>[defib] buzzes: Resuscitation failed - Failed to pick up any heart electrical activity.</span>")
|
||||
playsound(get_turf(src), 'sound/machines/defib_failed.ogg', 50, 0)
|
||||
@@ -375,7 +373,7 @@
|
||||
update_icon()
|
||||
return
|
||||
else
|
||||
H.heart_attack = 0
|
||||
H.set_heartattack(FALSE)
|
||||
user.visible_message("<span class='boldnotice'>[defib] pings: Cardiac arrhythmia corrected.</span>")
|
||||
M.visible_message("<span class='warning'>[M]'s body convulses a bit.")
|
||||
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
@@ -435,7 +433,6 @@
|
||||
busy = 0
|
||||
update_icon()
|
||||
|
||||
|
||||
/obj/item/weapon/borg_defib
|
||||
name = "defibrillator paddles"
|
||||
desc = "A pair of mounted paddles with flat metal surfaces that are used to deliver powerful electric shocks."
|
||||
@@ -443,7 +440,7 @@
|
||||
icon_state = "defibpaddles0"
|
||||
item_state = "defibpaddles0"
|
||||
force = 0
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
var/revivecost = 1000
|
||||
var/cooldown = 0
|
||||
var/busy = 0
|
||||
@@ -471,8 +468,8 @@
|
||||
H.adjustStaminaLoss(50)
|
||||
H.Weaken(5)
|
||||
H.updatehealth() //forces health update before next life tick
|
||||
if(!H.heart_attack && prob(10)) // Your heart explodes.
|
||||
H.heart_attack = 1
|
||||
if(!H.undergoing_cardiac_arrest() && prob(10)) // Your heart explodes.
|
||||
H.set_heartattack(TRUE)
|
||||
playsound(get_turf(src), 'sound/machines/defib_zap.ogg', 50, 1, -1)
|
||||
H.emote("gasp")
|
||||
add_logs(user, M, "stunned", object="defibrillator")
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
desc = "A die with six sides. Basic and servicable."
|
||||
icon = 'icons/obj/dice.dmi'
|
||||
icon_state = "d6"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/sides = 6
|
||||
var/result = null
|
||||
var/list/special_faces = list() //entries should match up to sides var if used
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/item/weapon/disk
|
||||
icon = 'icons/obj/module.dmi'
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
item_state = "card-id"
|
||||
icon_state = "datadisk0"
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
var/datum/dna2/record/buf = null
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
origin_tech = "biotech=1"
|
||||
|
||||
var/damage_coeff = 1
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
flags = NOBLUDGEON
|
||||
det_time = 10
|
||||
display_timer = 0
|
||||
origin_tech = "syndicate=2"
|
||||
origin_tech = "syndicate=1"
|
||||
toolspeed = 1
|
||||
var/atom/target = null
|
||||
var/image_overlay = null
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
flags = CONDUCT
|
||||
throwforce = 10
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throw_speed = 2
|
||||
throw_range = 7
|
||||
force = 10
|
||||
@@ -29,7 +29,7 @@
|
||||
hitsound = null //it is much lighter, after all.
|
||||
flags = null //doesn't CONDUCT
|
||||
throwforce = 2
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force = 3.0
|
||||
materials = list()
|
||||
max_water = 30
|
||||
|
||||
@@ -11,9 +11,9 @@
|
||||
throwforce = 10.0
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
materials = list(MAT_METAL=500)
|
||||
origin_tech = "combat=1;plasmatech=1"
|
||||
origin_tech = "combat=1;plasmatech=2;engineering=2"
|
||||
var/status = 0
|
||||
var/throw_amount = 100
|
||||
var/lit = 0 //on or off
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
name = "fiber wire"
|
||||
desc = "A length of razor-thin wire with an elegant wooden handle on either end.<br>You suspect you'd have to be behind the target to use this weapon effectively."
|
||||
icon_state = "garrot_wrap"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/mob/living/carbon/human/strangling
|
||||
var/improvised = 0
|
||||
var/garrote_time
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
/obj/item/weapon/grenade/gas
|
||||
name = "Plasma Fire Grenade"
|
||||
desc = "A compressed plasma grenade, used to start horrific plasma fires."
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=3"
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "syndicate"
|
||||
item_state = "flashbang"
|
||||
|
||||
@@ -4,7 +4,7 @@ var/turf/T
|
||||
/obj/item/weapon/grenade/bananade
|
||||
name = "bananade"
|
||||
desc = "A yellow grenade."
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "banana"
|
||||
item_state = "flashbang"
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
item_state = "flashbang"
|
||||
var/bomb_state = "chembomb"
|
||||
var/payload_name = null // used for spawned grenades
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force = 2
|
||||
var/prime_sound = 'sound/items/Screwdriver2.ogg'
|
||||
var/stage = EMPTY
|
||||
@@ -332,7 +332,7 @@
|
||||
bomb_state = "largebomb"
|
||||
allowed_containers = list(/obj/item/weapon/reagent_containers/glass,/obj/item/weapon/reagent_containers/food/condiment,
|
||||
/obj/item/weapon/reagent_containers/food/drinks)
|
||||
origin_tech = "combat=3;materials=3"
|
||||
origin_tech = "combat=3;engineering=3"
|
||||
affected_area = 4
|
||||
|
||||
|
||||
@@ -539,4 +539,4 @@
|
||||
|
||||
#undef EMPTY
|
||||
#undef WIRED
|
||||
#undef READY
|
||||
#undef READY
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "HONK! brand Bananas. In a special applicator for rapid slipping of wide areas."
|
||||
icon_state = "banana"
|
||||
item_state = "flashbang"
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force = 2.0
|
||||
var/stage = 0
|
||||
var/state = 0
|
||||
@@ -74,4 +74,4 @@
|
||||
if(istype(hit_atom ,/mob/living))
|
||||
var/mob/living/M = hit_atom
|
||||
M.take_organ_damage(0, burned)
|
||||
return ..()
|
||||
return ..()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "It is designed to wreak havoc on electronic systems."
|
||||
icon_state = "emp"
|
||||
item_state = "emp"
|
||||
origin_tech = "materials=2;magnets=3"
|
||||
origin_tech = "magnets=3;combat=2"
|
||||
|
||||
/obj/item/weapon/grenade/empgrenade/prime()
|
||||
update_mob()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "flashbang"
|
||||
icon_state = "flashbang"
|
||||
item_state = "flashbang"
|
||||
origin_tech = "materials=2;combat=1"
|
||||
origin_tech = "materials=2;combat=3"
|
||||
|
||||
/obj/item/weapon/grenade/flashbang/prime()
|
||||
update_mob()
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/obj/item/weapon/grenade/iedcasing
|
||||
name = "improvised explosive assembly"
|
||||
desc = "An igniter stuffed into an aluminum shell."
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "improvised_grenade"
|
||||
item_state = "flashbang"
|
||||
@@ -67,7 +67,7 @@
|
||||
/obj/item/weapon/grenade/iedcasing/filled
|
||||
name = "improvised firebomb"
|
||||
desc = "A weak, improvised incendiary device."
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "improvised_grenade"
|
||||
item_state = "flashbang"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/weapon/grenade
|
||||
name = "grenade"
|
||||
desc = "A hand held grenade, with an adjustable timer."
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "grenade"
|
||||
item_state = "flashbang"
|
||||
|
||||
@@ -35,20 +35,20 @@
|
||||
name = "manhack delivery grenade"
|
||||
spawner_type = /mob/living/simple_animal/hostile/viscerator
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=3"
|
||||
|
||||
/obj/item/weapon/grenade/spawnergrenade/spesscarp
|
||||
name = "carp delivery grenade"
|
||||
spawner_type = /mob/living/simple_animal/hostile/carp
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=3"
|
||||
|
||||
/obj/item/weapon/grenade/spawnergrenade/feral_cats
|
||||
name = "feral cat delivery grenade"
|
||||
desc = "This grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight."
|
||||
spawner_type = /mob/living/simple_animal/hostile/feral_cat
|
||||
deliveryamt = 5
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=3"
|
||||
|
||||
/obj/item/weapon/grenade/spawnergrenade/feral_cats/prime() //Own proc for this because the regular one would flash people which was dumb.
|
||||
update_mob()
|
||||
@@ -65,4 +65,4 @@
|
||||
|
||||
|
||||
qdel(src)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
icon = 'icons/obj/grenade.dmi'
|
||||
icon_state = "syndicate"
|
||||
item_state = "flashbang"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=4"
|
||||
origin_tech = "materials=3;magnets=4;syndicate=3"
|
||||
|
||||
/obj/item/weapon/grenade/syndieminibomb/prime()
|
||||
update_mob()
|
||||
explosion(src.loc,1,2,4,flame_range = 2)
|
||||
qdel(src)
|
||||
qdel(src)
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 2
|
||||
throw_range = 5
|
||||
materials = list(MAT_METAL=500)
|
||||
origin_tech = "materials=1"
|
||||
origin_tech = "engineering=3;combat=3"
|
||||
breakouttime = 600 //Deciseconds = 60s = 1 minutes
|
||||
var/cuffsound = 'sound/weapons/handcuffs.ogg'
|
||||
var/trashtype = null //For disposable cuffs
|
||||
@@ -75,6 +75,7 @@
|
||||
name = "cable restraints"
|
||||
desc = "Looks like some cables tied together. Could be used to tie something up."
|
||||
icon_state = "cuff_white"
|
||||
origin_tech = "engineering=2"
|
||||
materials = list(MAT_METAL=150, MAT_GLASS=75)
|
||||
breakouttime = 300 //Deciseconds = 30s
|
||||
cuffsound = 'sound/weapons/cablecuff.ogg'
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
icon_state = "signmaker"
|
||||
item_state = "electronic"
|
||||
force = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
origin_tech = "programming=3"
|
||||
origin_tech = "magnets=1;programming=3"
|
||||
var/list/signs = list()
|
||||
var/max_signs = 20
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
throw_speed = 3
|
||||
throw_range = 4
|
||||
throwforce = 10
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
var/reskinned = FALSE
|
||||
var/reskin_selectable = TRUE //set to FALSE if a subtype is meant to not normally be available as a reskin option (fluff ones will get re-added through their list)
|
||||
var/list/fluff_transformations = list() //does it have any special transformations only accessible to it? Should only be subtypes of /obj/item/weapon/nullrod
|
||||
@@ -71,7 +71,7 @@
|
||||
item_state = "disintegrate"
|
||||
desc = "This hand of yours glows with an awesome power!"
|
||||
flags = ABSTRACT | NODROP
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
hitsound = 'sound/weapons/sear.ogg'
|
||||
damtype = BURN
|
||||
attack_verb = list("punched", "cross countered", "pummeled")
|
||||
@@ -81,7 +81,7 @@
|
||||
icon_state = "godstaff-red"
|
||||
item_state = "godstaff-red"
|
||||
desc = "It has a mysterious, protective aura."
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
force = 5
|
||||
slot_flags = SLOT_BACK
|
||||
block_chance = 50
|
||||
@@ -96,7 +96,7 @@
|
||||
icon_state = "claymore"
|
||||
item_state = "claymore"
|
||||
desc = "A weapon fit for a crusade!"
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK|SLOT_BELT
|
||||
block_chance = 30
|
||||
sharp = 1
|
||||
@@ -183,7 +183,7 @@
|
||||
icon_state = "scythe0"
|
||||
item_state = "scythe0"
|
||||
desc = "Ask not for whom the bell tolls..."
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
armour_penetration = 35
|
||||
slot_flags = SLOT_BACK
|
||||
sharp = 1
|
||||
@@ -255,7 +255,7 @@
|
||||
item_state = "hammeron"
|
||||
desc = "This war hammer cost the chaplain fourty thousand space dollars."
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
attack_verb = list("smashed", "bashed", "hammered", "crunched")
|
||||
|
||||
/obj/item/weapon/nullrod/chainsaw
|
||||
@@ -263,7 +263,7 @@
|
||||
desc = "Good? Bad? You're the guy with the chainsaw hand."
|
||||
icon_state = "chainsaw1"
|
||||
item_state = "mounted_chainsaw"
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
flags = NODROP | ABSTRACT
|
||||
sharp = 1
|
||||
edge = 1
|
||||
@@ -322,7 +322,7 @@
|
||||
icon_state = "arm_blade"
|
||||
item_state = "arm_blade"
|
||||
flags = ABSTRACT | NODROP
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
sharp = 1
|
||||
edge = 1
|
||||
|
||||
@@ -349,7 +349,7 @@
|
||||
/obj/item/weapon/nullrod/claymore/bostaff //May as well make it a "claymore" and inherit the blocking
|
||||
name = "monk's staff"
|
||||
desc = "A long, tall staff made of polished wood. Traditionally used in ancient old-Earth martial arts, now used to harass the clown."
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
force = 13
|
||||
block_chance = 40
|
||||
slot_flags = SLOT_BACK
|
||||
@@ -365,7 +365,7 @@
|
||||
name = "arrhythmic knife"
|
||||
icon_state = "crysknife"
|
||||
item_state = "crysknife"
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
desc = "They say fear is the true mind killer, but stabbing them in the head works too. Honour compels you to not sheathe it once drawn."
|
||||
sharp = 1
|
||||
edge = 1
|
||||
@@ -389,7 +389,7 @@
|
||||
name = "unholy pitchfork"
|
||||
icon_state = "pitchfork0"
|
||||
item_state = "pitchfork0"
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
desc = "Holding this makes you look absolutely devilish."
|
||||
attack_verb = list("poked", "impaled", "pierced", "jabbed")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
@@ -518,7 +518,7 @@
|
||||
reskin_selectable = FALSE
|
||||
icon_state = "godstaff-red"
|
||||
item_state = "godstaff-red"
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
force = 5
|
||||
slot_flags = SLOT_BACK
|
||||
block_chance = 50
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Use this to escape from those evil Red Shirts."
|
||||
icon_state = "freedom"
|
||||
item_color = "r"
|
||||
origin_tech = "materials=2;magnets=3;biotech=3;syndicate=4"
|
||||
origin_tech = "combat=5;magnets=3;biotech=4;syndicate=2"
|
||||
uses = 4
|
||||
|
||||
|
||||
@@ -48,4 +48,4 @@ No Implant Specifics"}
|
||||
|
||||
/obj/item/weapon/implantcase/freedom/New()
|
||||
imp = new /obj/item/weapon/implant/freedom(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
name = "firearms authentication implant"
|
||||
desc = "Lets you shoot your guns"
|
||||
icon_state = "auth"
|
||||
origin_tech = "materials=2;magnets=2;programming=2;biotech=5;syndicate=5"
|
||||
origin_tech = "magnets=2;programming=7;biotech=5;syndicate=5"
|
||||
activated = 0
|
||||
|
||||
/obj/item/weapon/implant/weapons_auth/get_data()
|
||||
@@ -53,7 +53,7 @@
|
||||
name = "emp implant"
|
||||
desc = "Triggers an EMP."
|
||||
icon_state = "emp"
|
||||
origin_tech = "materials=2;biotech=3;magnets=4;syndicate=4"
|
||||
origin_tech = "biotech=3;magnets=4;syndicate=1"
|
||||
uses = 2
|
||||
|
||||
/obj/item/weapon/implant/emp/activate()
|
||||
@@ -65,4 +65,4 @@
|
||||
/obj/item/weapon/implant/cortical
|
||||
name = "cortical stack"
|
||||
desc = "A fist-sized mass of biocircuits and chips."
|
||||
icon_state = "implant_evil"
|
||||
icon_state = "implant_evil"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/obj/item/weapon/storage/hidden/implant
|
||||
name = "bluespace pocket"
|
||||
storage_slots = 2
|
||||
max_w_class = 3
|
||||
max_combined_w_class = 6
|
||||
w_class = 4
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = WEIGHT_CLASS_GIGANTIC
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
cant_hold = list(/obj/item/weapon/disk/nuclear)
|
||||
silent = 1
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
name = "storage implant"
|
||||
desc = "Stores up to two big items in a bluespace pocket."
|
||||
icon_state = "storage"
|
||||
origin_tech = "materials=2;magnets=4;bluespace=4;syndicate=4"
|
||||
origin_tech = "materials=2;magnets=4;bluespace=5;syndicate=4"
|
||||
item_color = "r"
|
||||
var/obj/item/weapon/storage/hidden/implant/storage
|
||||
|
||||
@@ -58,4 +58,4 @@
|
||||
|
||||
/obj/item/weapon/implanter/storage/New()
|
||||
imp = new /obj/item/weapon/implant/storage(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
item_state = "implantcase"
|
||||
throw_speed = 2
|
||||
throw_range = 5
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
origin_tech = "materials=1;biotech=2"
|
||||
materials = list(MAT_GLASS=500)
|
||||
var/obj/item/weapon/implant/imp = null
|
||||
@@ -98,4 +98,4 @@
|
||||
|
||||
/obj/item/weapon/implantcase/death_alarm/New()
|
||||
imp = new /obj/item/weapon/implant/death_alarm(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
item_state = "syringe_0"
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
origin_tech = "materials=1;biotech=3;programming=2"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
origin_tech = "materials=2;biotech=3"
|
||||
materials = list(MAT_METAL=600, MAT_GLASS=200)
|
||||
toolspeed = 1
|
||||
var/obj/item/weapon/implant/imp = null
|
||||
@@ -86,4 +86,4 @@
|
||||
|
||||
/obj/item/weapon/implanter/death_alarm/New()
|
||||
imp = new /obj/item/weapon/implant/death_alarm(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
item_state = "electronic"
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/obj/item/weapon/implantcase/case = null
|
||||
|
||||
/obj/item/weapon/implantpad/Destroy()
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "Summon things."
|
||||
icon = 'icons/obj/radio.dmi'
|
||||
icon_state = "radio"
|
||||
origin_tech = "materials=2;magnets=4;programming=4;biotech=4;syndicate=8;bluespace=5"
|
||||
origin_tech = "materials=4;magnets=4;programming=4;biotech=4;syndicate=5;bluespace=5"
|
||||
|
||||
/obj/item/weapon/implant/uplink/New()
|
||||
hidden_uplink = new(src)
|
||||
@@ -32,4 +32,4 @@
|
||||
|
||||
/obj/item/weapon/implanter/uplink/New()
|
||||
imp = new /obj/item/weapon/implant/uplink(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -12,18 +12,18 @@
|
||||
|
||||
/obj/item/weapon/kitchen
|
||||
icon = 'icons/obj/kitchen.dmi'
|
||||
origin_tech = "materials=1"
|
||||
|
||||
/*
|
||||
* Utensils
|
||||
*/
|
||||
/obj/item/weapon/kitchen/utensil
|
||||
force = 5.0
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 0.0
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
flags = CONDUCT
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("attacked", "stabbed", "poked")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharp = 0
|
||||
@@ -91,13 +91,12 @@
|
||||
desc = "A general purpose Chef's Knife made by SpaceCook Incorporated. Guaranteed to stay sharp for years to come."
|
||||
flags = CONDUCT
|
||||
force = 10
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 10
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
throw_speed = 3
|
||||
throw_range = 6
|
||||
materials = list(MAT_METAL=12000)
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
no_embed = 1
|
||||
sharp = 1
|
||||
@@ -122,7 +121,7 @@
|
||||
desc = "The unearthly energies that once powered this blade are now dormant."
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "render"
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/kitchen/knife/butcher
|
||||
name = "butcher's cleaver"
|
||||
@@ -132,7 +131,7 @@
|
||||
force = 15
|
||||
throwforce = 8
|
||||
attack_verb = list("cleaved", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/kitchen/knife/butcher/meatcleaver
|
||||
name = "Meat Cleaver"
|
||||
@@ -149,7 +148,7 @@
|
||||
desc = "A military combat utility survival knife."
|
||||
force = 20
|
||||
throwforce = 20
|
||||
origin_tech = "materials=2;combat=4"
|
||||
origin_tech = "materials=3;combat=4"
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "cut")
|
||||
|
||||
/obj/item/weapon/kitchen/knife/carrotshiv
|
||||
@@ -175,7 +174,7 @@
|
||||
throwforce = 10.0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
||||
|
||||
/* Trays moved to /obj/item/weapon/storage/bag */
|
||||
@@ -192,7 +191,7 @@
|
||||
throwforce = 5
|
||||
throw_speed = 3
|
||||
throw_range = 3
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "smashed")
|
||||
|
||||
/obj/item/weapon/kitchen/mould/bear
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
icon_state = "handcuff"
|
||||
flags = CONDUCT
|
||||
throwforce = 0
|
||||
w_class = 3
|
||||
origin_tech = "materials=1"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "engineering=3;combat=3"
|
||||
slowdown = 7
|
||||
breakouttime = 300 //Deciseconds = 30s = 0.5 minute
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
throw_range = 1
|
||||
icon_state = "beartrap"
|
||||
desc = "A trap used to catch bears and other legged creatures."
|
||||
origin_tech = "engineering=4"
|
||||
var/armed = 0
|
||||
var/trap_damage = 20
|
||||
var/obj/item/weapon/grenade/iedcasing/IED = null
|
||||
@@ -196,7 +197,7 @@
|
||||
desc = "A specialized hard-light bola designed to ensnare fleeing criminals and aid in arrests."
|
||||
icon_state = "ebola"
|
||||
hitsound = 'sound/weapons/tase.ogg'
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
breakouttime = 60
|
||||
|
||||
/obj/item/weapon/restraints/legcuffs/bola/energy/throw_impact(atom/hit_atom)
|
||||
@@ -204,4 +205,4 @@
|
||||
var/obj/item/weapon/restraints/legcuffs/beartrap/B = new /obj/item/weapon/restraints/legcuffs/beartrap/energy/cyborg(get_turf(hit_atom))
|
||||
B.Crossed(hit_atom)
|
||||
qdel(src)
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
item_state = "lighter-g"
|
||||
var/icon_on = "lighter-g-on"
|
||||
var/icon_off = "lighter-g"
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 4
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
@@ -35,7 +35,7 @@
|
||||
if(user.r_hand == src || user.l_hand == src || isrobot(user))
|
||||
if(!lit)
|
||||
lit = 1
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
icon_state = icon_on
|
||||
item_state = icon_on
|
||||
if(istype(src, /obj/item/weapon/lighter/zippo) )
|
||||
@@ -59,7 +59,7 @@
|
||||
processing_objects.Add(src)
|
||||
else
|
||||
lit = 0
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
icon_state = icon_off
|
||||
item_state = icon_off
|
||||
if(istype(src, /obj/item/weapon/lighter/zippo) )
|
||||
@@ -147,7 +147,7 @@
|
||||
icon_state = "match_unlit"
|
||||
var/lit = 0
|
||||
var/smoketime = 5
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
origin_tech = "materials=1"
|
||||
attack_verb = list("burnt", "singed")
|
||||
|
||||
|
||||
@@ -580,11 +580,8 @@
|
||||
<h2>Protolathe</h2>
|
||||
This machine is an advanced form of the Autolathe that produce non-circuit designs. Unlike the Autolathe, it can use processed metal, glass, solid plasma, silver, gold, and diamonds along with a variety of chemicals to produce devices. The downside is that, again, not all devices you make are 100% reliable when you first discover them.
|
||||
|
||||
<h1>Reliability and You</h1>
|
||||
As it has been stated, many devices when they're first discovered do not have a 100% reliablity when you first discover them. Instead, the reliablity of the device is dependent upon a base reliability value, whatever improvements to the design you've discovered through the Destructive Analyzer, and any advancements you've made with the device's source technologies. To be able to improve the reliability of a device, you have to use the device until it breaks beyond repair. Once that happens, you can analyze it in a Destructive Analyzer. Once the device reachs a certain minimum reliability, you'll gain tech advancements from it.
|
||||
|
||||
<h1>Building a Better Machine</h1>
|
||||
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, its attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results! Be warned, however: Tier 3 and higher stock parts don't have 100% reliability and their low reliability may affect the reliability of the end machine.
|
||||
Many machines produces from circuit boards and inserted into a machine frame require a variety of parts to construct. These are parts like capacitors, batteries, matter bins, and so forth. As your knowledge of science improves, more advanced versions are unlocked. If you use these parts when constructing something, its attributes may be improved. For example, if you use an advanced matter bin when constructing an autolathe (rather then a regular one), it'll hold more materials. Experiment around with stock parts of various qualities to see how they affect the end results!
|
||||
</body>
|
||||
</html>
|
||||
"}*/
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
var/active = 0
|
||||
var/force_on = 30 //force when active
|
||||
var/throwforce_on = 20
|
||||
w_class = 2
|
||||
var/w_class_on = 4
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/w_class_on = WEIGHT_CLASS_BULKY
|
||||
var/icon_state_on = "axe1"
|
||||
var/list/attack_verb_on = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
no_embed = 1 // Physically impossible for energy weapons to embed themselves into people, this should fix that. -- Dave
|
||||
@@ -61,12 +61,12 @@
|
||||
throwforce_on = 30
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 3
|
||||
w_class_on = 5
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
w_class_on = WEIGHT_CLASS_HUGE
|
||||
hitsound = "swing_hit"
|
||||
flags = CONDUCT
|
||||
armour_penetration = 100
|
||||
origin_tech = "combat=3"
|
||||
origin_tech = "combat=4;magnets=3"
|
||||
attack_verb = list("attacked", "chopped", "cleaved", "torn", "cut")
|
||||
attack_verb_on = list()
|
||||
sharp = 1
|
||||
@@ -86,7 +86,7 @@
|
||||
throw_range = 5
|
||||
hitsound = "swing_hit"
|
||||
armour_penetration = 35
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = "combat=3;magnets=4;syndicate=4"
|
||||
block_chance = 50
|
||||
sharp = 1
|
||||
edge = 1
|
||||
@@ -123,13 +123,12 @@
|
||||
sharp = 1
|
||||
edge = 1
|
||||
hitsound = 'sound/weapons/circsawhit.ogg'
|
||||
origin_tech = "materials=3;biotech=3;syndicate=3"
|
||||
icon = 'icons/obj/surgery.dmi'
|
||||
icon_state = "esaw_0"
|
||||
icon_state_on = "esaw_1"
|
||||
hitcost = 75 //Costs more than a standard cyborg esword
|
||||
item_color = null
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/melee/energy/sword/cyborg/saw/New()
|
||||
..()
|
||||
@@ -207,7 +206,7 @@
|
||||
throwforce = 1//Throwing or dropping the item deletes it.
|
||||
throw_speed = 3
|
||||
throw_range = 1
|
||||
w_class = 4//So you can't hide it in your pocket or some such.
|
||||
w_class = WEIGHT_CLASS_BULKY //So you can't hide it in your pocket or some such.
|
||||
armour_penetration = 50
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
var/datum/effect/system/spark_spread/spark_system
|
||||
@@ -223,4 +222,4 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/melee/energy/blade/attack_self(mob/user)
|
||||
return
|
||||
return
|
||||
|
||||
@@ -10,8 +10,8 @@
|
||||
slot_flags = SLOT_BELT
|
||||
force = 10
|
||||
throwforce = 7
|
||||
w_class = 3
|
||||
origin_tech = "combat=4"
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "combat=5"
|
||||
attack_verb = list("flogged", "whipped", "lashed", "disciplined")
|
||||
hitsound = 'sound/weapons/slash.ogg' //pls replace
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
flags = CONDUCT
|
||||
force = 15
|
||||
throwforce = 10
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
block_chance = 50
|
||||
armour_penetration = 75
|
||||
sharp = 1
|
||||
@@ -50,7 +50,7 @@
|
||||
item_state = "icepick"
|
||||
force = 15
|
||||
throwforce = 10
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("stabbed", "jabbed", "iced,")
|
||||
|
||||
/obj/item/weapon/melee/candy_sword
|
||||
@@ -60,5 +60,5 @@
|
||||
item_state = "candy_sword"
|
||||
force = 10
|
||||
throwforce = 7
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "caned")
|
||||
@@ -30,7 +30,7 @@
|
||||
flags = CONDUCT
|
||||
force = 5.0
|
||||
throwforce = 7.0
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
materials = list(MAT_METAL=50)
|
||||
attack_verb = list("bludgeoned", "whacked", "disciplined", "thrashed", "Vaudevilled")
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "c_tube"
|
||||
throwforce = 1
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 4
|
||||
throw_range = 5
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
var/data = ""
|
||||
var/base_url = "http://svn.slurm.us/public/spacestation13/misc/game_kit"
|
||||
item_state = "sheet-metal"
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
*/
|
||||
|
||||
/obj/item/weapon/gift
|
||||
@@ -76,7 +76,7 @@
|
||||
var/size = 3.0
|
||||
var/obj/item/gift = null
|
||||
item_state = "gift"
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/weapon/kidanglobe
|
||||
name = "Kidan homeworld globe"
|
||||
@@ -134,7 +134,7 @@
|
||||
throwforce = 2
|
||||
throw_speed = 1
|
||||
throw_range = 4
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
attack_verb = list("called", "rang")
|
||||
hitsound = 'sound/weapons/ring.ogg'
|
||||
var/cooldown = 0
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
throwforce = 5.0
|
||||
throw_speed = 3
|
||||
throw_range = 7
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
attack_verb = list("mopped", "bashed", "bludgeoned", "whacked")
|
||||
burn_state = FLAMMABLE
|
||||
var/mopping = 0
|
||||
@@ -78,6 +78,7 @@
|
||||
mopcap = 15
|
||||
icon_state = "advmop"
|
||||
item_state = "mop" //meh will do for now until TG makes one
|
||||
origin_tech = "materials=3;engineering=3"
|
||||
force = 6
|
||||
throwforce = 8
|
||||
throw_range = 4
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
icon_state = "paint_neutral"
|
||||
item_state = "paintcan"
|
||||
materials = list(MAT_METAL=200)
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
burn_state = FLAMMABLE
|
||||
burntime = 5
|
||||
amount_per_transfer_from_this = 5
|
||||
@@ -63,4 +63,4 @@
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/paint/remover
|
||||
name = "paint remover bucket"
|
||||
list_reagents = list("paint_remover" = 70)
|
||||
list_reagents = list("paint_remover" = 70)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/weapon/pneumatic_cannon
|
||||
name = "pneumatic cannon"
|
||||
desc = "A gas-powered cannon that can fire any object loaded into it."
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
force = 8 //Very heavy
|
||||
attack_verb = list("bludgeoned", "smashed", "beaten")
|
||||
icon = 'icons/obj/pneumaticCannon.dmi'
|
||||
@@ -132,7 +132,7 @@
|
||||
name = "improvised pneumatic cannon"
|
||||
desc = "A gas-powered, object-firing cannon made out of common parts."
|
||||
force = 5
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
maxWeightClass = 7
|
||||
gasPerThrow = 5
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
materials = list(MAT_METAL=700, MAT_GLASS=50)
|
||||
var/rigged = 0 // true if rigged to explode
|
||||
var/chargerate = 100 //how much power is given every tick in a recharger
|
||||
var/minor_fault = 0 //If not 100% reliable, it will build up faults.
|
||||
var/self_recharge = 0 //does it self recharge, over time, or not?
|
||||
var/grown_battery = FALSE // If it's a grown that acts as a battery, add a wire overlay to it.
|
||||
|
||||
@@ -102,7 +101,7 @@
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/super
|
||||
name = "super-capacity power cell"
|
||||
origin_tech = "powerstorage=5"
|
||||
origin_tech = "powerstorage=3;materials=3"
|
||||
icon_state = "scell"
|
||||
maxcharge = 20000
|
||||
materials = list(MAT_GLASS=300)
|
||||
@@ -115,7 +114,7 @@
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/hyper
|
||||
name = "hyper-capacity power cell"
|
||||
origin_tech = "powerstorage=6"
|
||||
origin_tech = "powerstorage=4;engineering=4;materials=4"
|
||||
icon_state = "hpcell"
|
||||
maxcharge = 30000
|
||||
materials = list(MAT_GLASS=400)
|
||||
@@ -128,7 +127,7 @@
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/bluespace
|
||||
name = "bluespace power cell"
|
||||
origin_tech = "powerstorage=7"
|
||||
origin_tech = "powerstorage=5;bluespace=4;materials=4;engineering=4"
|
||||
icon_state = "bscell"
|
||||
maxcharge = 40000
|
||||
materials = list(MAT_GLASS=600)
|
||||
@@ -142,7 +141,7 @@
|
||||
/obj/item/weapon/stock_parts/cell/infinite
|
||||
name = "infinite-capacity power cell!"
|
||||
icon_state = "icell"
|
||||
origin_tech = null
|
||||
origin_tech = "powerstorage=7"
|
||||
maxcharge = 30000
|
||||
materials = list(MAT_GLASS=1000)
|
||||
rating = 6
|
||||
@@ -161,13 +160,12 @@
|
||||
maxcharge = 300
|
||||
materials = list()
|
||||
rating = 1
|
||||
minor_fault = 1
|
||||
grown_battery = TRUE //it has the overlays for wires
|
||||
|
||||
/obj/item/weapon/stock_parts/cell/high/slime
|
||||
name = "charged slime core"
|
||||
desc = "A yellow slime core infused with plasma, it crackles with power."
|
||||
origin_tech = "powerstorage=2;biotech=4"
|
||||
origin_tech = "powerstorage=5;biotech=4"
|
||||
icon = 'icons/mob/slimes.dmi'
|
||||
icon_state = "yellow slime extract"
|
||||
materials = list()
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
force = 12
|
||||
throwforce = 10
|
||||
throw_range = 7
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "combat=5;powerstorage=3;syndicate=3"
|
||||
var/click_delay = 1.5
|
||||
var/fisto_setting = 1
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
force = 5
|
||||
sharp = 1
|
||||
edge = 1
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("slices", "cuts", "stabs", "jabs")
|
||||
toolspeed = 1
|
||||
|
||||
@@ -4,17 +4,17 @@
|
||||
icon = 'icons/obj/wizard.dmi'
|
||||
icon_state = "scroll"
|
||||
var/uses = 4.0
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
item_state = "paper"
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
origin_tech = "bluespace=4"
|
||||
origin_tech = "bluespace=6"
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
/obj/item/weapon/teleportation_scroll/apprentice
|
||||
name = "lesser scroll of teleportation"
|
||||
uses = 1
|
||||
origin_tech = "bluespace 2"
|
||||
origin_tech = "bluespace=5"
|
||||
|
||||
/obj/item/weapon/teleportation_scroll/attack_self(mob/user as mob)
|
||||
user.set_machine(src)
|
||||
@@ -96,4 +96,4 @@
|
||||
user.loc = pick(L)
|
||||
|
||||
smoke.start()
|
||||
src.uses -= 1
|
||||
src.uses -= 1
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
sharp = 1
|
||||
edge = 1
|
||||
desc = "Could probably be used as ... a throwing weapon?"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
force = 5.0
|
||||
throwforce = 10.0
|
||||
item_state = "shard-glass"
|
||||
@@ -112,4 +112,4 @@
|
||||
src.pixel_x = rand(-5, 5)
|
||||
src.pixel_y = rand(-5, 5)
|
||||
else
|
||||
return
|
||||
return
|
||||
|
||||
@@ -19,9 +19,9 @@
|
||||
throwforce = 5
|
||||
throw_speed = 2
|
||||
throw_range = 3
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
materials = list(MAT_GLASS=7500, MAT_METAL=1000)
|
||||
origin_tech = "materials=2"
|
||||
origin_tech = "materials=3;combat=4"
|
||||
attack_verb = list("shoved", "bashed")
|
||||
var/cooldown = 0 //shield bash cooldown. based on world.time
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
icon_state = "buckler"
|
||||
item_state = "buckler"
|
||||
materials = list()
|
||||
origin_tech = "materials=1;combat=3;biotech=2"
|
||||
burn_state = FLAMMABLE
|
||||
block_chance = 30
|
||||
|
||||
@@ -58,8 +59,8 @@
|
||||
throwforce = 3
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 1
|
||||
origin_tech = "materials=4;magnets=3;syndicate=4"
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
origin_tech = "materials=4;magnets=5;syndicate=6"
|
||||
attack_verb = list("shoved", "bashed")
|
||||
var/active = 0
|
||||
|
||||
@@ -80,14 +81,14 @@
|
||||
force = 10
|
||||
throwforce = 8
|
||||
throw_speed = 2
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
playsound(user, 'sound/weapons/saberon.ogg', 35, 1)
|
||||
to_chat(user, "<span class='notice'>[src] is now active.</span>")
|
||||
else
|
||||
force = 3
|
||||
throwforce = 3
|
||||
throw_speed = 3
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
playsound(user, 'sound/weapons/saberoff.ogg', 35, 1)
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
@@ -102,12 +103,13 @@
|
||||
desc = "An advanced riot shield made of lightweight materials that collapses for easy storage."
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "teleriot0"
|
||||
origin_tech = "materials=3;combat=4;engineering=4"
|
||||
slot_flags = null
|
||||
force = 3
|
||||
throwforce = 3
|
||||
throw_speed = 3
|
||||
throw_range = 4
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
var/active = 0
|
||||
|
||||
/obj/item/weapon/shield/riot/tele/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance)
|
||||
@@ -124,14 +126,14 @@
|
||||
force = 8
|
||||
throwforce = 5
|
||||
throw_speed = 2
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK
|
||||
to_chat(user, "<span class='notice'>You extend \the [src].</span>")
|
||||
else
|
||||
force = 3
|
||||
throwforce = 3
|
||||
throw_speed = 3
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
slot_flags = null
|
||||
to_chat(user, "<span class='notice'>[src] can now be concealed.</span>")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
name = "blank picket sign"
|
||||
desc = "It's blank"
|
||||
force = 5
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
attack_verb = list("bashed","smacked")
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
@@ -42,4 +42,4 @@
|
||||
reqs = list(/obj/item/stack/rods = 1,
|
||||
/obj/item/stack/sheet/cardboard = 2)
|
||||
time = 80
|
||||
category = CAT_MISC
|
||||
category = CAT_MISC
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
gender = PLURAL
|
||||
icon = 'icons/obj/items.dmi'
|
||||
icon_state = "soap"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throwforce = 0
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
@@ -53,4 +53,4 @@
|
||||
/obj/item/weapon/soap/syndie
|
||||
desc = "An untrustworthy bar of soap made of strong chemical agents that dissolve blood faster."
|
||||
icon_state = "soapsyndie"
|
||||
cleanspeed = 10 //much faster than mop so it is useful for traitors who want to clean crime scenes
|
||||
cleanspeed = 10 //much faster than mop so it is useful for traitors who want to clean crime scenes
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
throwforce = 5.0
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
armour_penetration = 100
|
||||
attack_verb = list("bludgeoned", "whacked", "disciplined")
|
||||
burn_state = FLAMMABLE
|
||||
@@ -73,4 +73,4 @@
|
||||
throwforce = 5.0
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
desc = "Special mechanical module made to store, sort, and apply standard machine parts."
|
||||
icon_state = "RPED"
|
||||
item_state = "RPED"
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
can_hold = list(/obj/item/weapon/stock_parts)
|
||||
storage_slots = 50
|
||||
use_to_pickup = 1
|
||||
@@ -13,7 +13,7 @@
|
||||
allow_quick_empty = 1
|
||||
collection_mode = 1
|
||||
display_contents_with_number = 1
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 100
|
||||
var/works_from_distance = 0
|
||||
var/primary_sound = 'sound/items/rped.ogg'
|
||||
@@ -24,21 +24,20 @@
|
||||
/obj/item/weapon/storage/part_replacer/afterattack(obj/machinery/T as obj, mob/living/carbon/human/user as mob, flag, params)
|
||||
if(flag)
|
||||
return
|
||||
else
|
||||
if(works_from_distance)
|
||||
if(istype(T))
|
||||
if(T.component_parts)
|
||||
T.exchange_parts(user, src)
|
||||
user.Beam(T,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
|
||||
else if(works_from_distance)
|
||||
if(istype(T))
|
||||
if(T.component_parts)
|
||||
T.exchange_parts(user, src)
|
||||
user.Beam(T,icon_state="rped_upgrade",icon='icons/effects/effects.dmi',time=5)
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/part_replacer/bluespace
|
||||
name = "bluespace rapid part exchange device"
|
||||
desc = "A version of the RPED that allows for replacement of parts and scanning from a distance, along with higher capacity for parts."
|
||||
icon_state = "BS_RPED"
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
storage_slots = 400
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 800
|
||||
works_from_distance = 1
|
||||
primary_sound = 'sound/items/PSHOOM.ogg'
|
||||
@@ -63,11 +62,11 @@
|
||||
desc = "What?"
|
||||
gender = PLURAL
|
||||
icon = 'icons/obj/stock_parts.dmi'
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
var/rating = 1
|
||||
toolspeed = 1
|
||||
usesound = 'sound/items/Deconstruct.ogg'
|
||||
|
||||
|
||||
/obj/item/weapon/stock_parts/New()
|
||||
src.pixel_x = rand(-5.0, 5)
|
||||
src.pixel_y = rand(-5.0, 5)
|
||||
@@ -164,7 +163,7 @@
|
||||
name = "super capacitor"
|
||||
desc = "A super-high capacity capacitor used in the construction of a variety of devices."
|
||||
icon_state = "super_capacitor"
|
||||
origin_tech = "powerstorage=5;materials=4"
|
||||
origin_tech = "powerstorage=4;engineering=4"
|
||||
rating = 3
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=50)
|
||||
|
||||
@@ -172,7 +171,7 @@
|
||||
name = "phasic scanning module"
|
||||
desc = "A compact, high resolution phasic scanning module used in the construction of certain devices."
|
||||
icon_state = "super_scan_module"
|
||||
origin_tech = "magnets=5"
|
||||
origin_tech = "magnets=4;engineering=4"
|
||||
rating = 3
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=20)
|
||||
|
||||
@@ -180,7 +179,7 @@
|
||||
name = "pico-manipulator"
|
||||
desc = "A tiny little manipulator used in the construction of certain devices."
|
||||
icon_state = "pico_mani"
|
||||
origin_tech = "materials=5;programming=2"
|
||||
origin_tech = "materials=4;programming=4;engineering=4"
|
||||
rating = 3
|
||||
materials = list(MAT_METAL=30)
|
||||
|
||||
@@ -188,7 +187,7 @@
|
||||
name = "ultra-high-power micro-laser"
|
||||
icon_state = "ultra_high_micro_laser"
|
||||
desc = "A tiny laser used in certain devices."
|
||||
origin_tech = "magnets=5"
|
||||
origin_tech = "magnets=4;engineering=4"
|
||||
rating = 3
|
||||
materials = list(MAT_METAL=10, MAT_GLASS=20)
|
||||
|
||||
@@ -196,7 +195,7 @@
|
||||
name = "super matter bin"
|
||||
desc = "A container for hold compressed matter awaiting re-construction."
|
||||
icon_state = "super_matter_bin"
|
||||
origin_tech = "materials=5"
|
||||
origin_tech = "materials=4;engineering=4"
|
||||
rating = 3
|
||||
materials = list(MAT_METAL=80)
|
||||
|
||||
@@ -206,7 +205,7 @@
|
||||
name = "quadratic capacitor"
|
||||
desc = "An capacity capacitor used in the construction of a variety of devices."
|
||||
icon_state = "quadratic_capacitor"
|
||||
origin_tech = "powerstorage=6;materials=5"
|
||||
origin_tech = "powerstorage=5;materials=4;engineering=4"
|
||||
rating = 4
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=50)
|
||||
|
||||
@@ -214,7 +213,7 @@
|
||||
name = "triphasic scanning module"
|
||||
desc = "A compact, ultra resolution triphasic scanning module used in the construction of certain devices."
|
||||
icon_state = "triphasic_scan_module"
|
||||
origin_tech = "magnets=6"
|
||||
origin_tech = "magnets=5;materials=4;engineering=4"
|
||||
rating = 4
|
||||
materials = list(MAT_METAL=50, MAT_GLASS=20)
|
||||
|
||||
@@ -222,7 +221,7 @@
|
||||
name = "femto-manipulator"
|
||||
desc = "A tiny little manipulator used in the construction of certain devices."
|
||||
icon_state = "femto_mani"
|
||||
origin_tech = "materials=6;programming=3"
|
||||
origin_tech = "materials=6;programming=4;engineering=4"
|
||||
rating = 4
|
||||
materials = list(MAT_METAL=30)
|
||||
|
||||
@@ -230,7 +229,7 @@
|
||||
name = "quad-ultra micro-laser"
|
||||
icon_state = "quadultra_micro_laser"
|
||||
desc = "A tiny laser used in certain devices."
|
||||
origin_tech = "magnets=6"
|
||||
origin_tech = "magnets=5;materials=4;engineering=4"
|
||||
rating = 4
|
||||
materials = list(MAT_METAL=10, MAT_GLASS=20)
|
||||
|
||||
@@ -238,7 +237,7 @@
|
||||
name = "bluespace matter bin"
|
||||
desc = "A container for hold compressed matter awaiting re-construction."
|
||||
icon_state = "bluespace_matter_bin"
|
||||
origin_tech = "materials=6"
|
||||
origin_tech = "materials=6;programming=4;engineering=4"
|
||||
rating = 4
|
||||
materials = list(MAT_METAL=80)
|
||||
|
||||
@@ -248,49 +247,49 @@
|
||||
name = "subspace ansible"
|
||||
icon_state = "subspace_ansible"
|
||||
desc = "A compact module capable of sensing extradimensional activity."
|
||||
origin_tech = "programming=2;magnets=3;materials=2;bluespace=1"
|
||||
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/filter
|
||||
name = "hyperwave filter"
|
||||
icon_state = "hyperwave_filter"
|
||||
desc = "A tiny device capable of filtering and converting super-intense radiowaves."
|
||||
origin_tech = "programming=2;magnets=1"
|
||||
origin_tech = "programming=2;magnets=2"
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/amplifier
|
||||
name = "subspace amplifier"
|
||||
icon_state = "subspace_amplifier"
|
||||
desc = "A compact micro-machine capable of amplifying weak subspace transmissions."
|
||||
origin_tech = "programming=2;magnets=2;materials=1;bluespace=1"
|
||||
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/treatment
|
||||
name = "subspace treatment disk"
|
||||
icon_state = "treatment_disk"
|
||||
desc = "A compact micro-machine capable of stretching out hyper-compressed radio waves."
|
||||
origin_tech = "programming=2;magnets=1;materials=3;bluespace=1"
|
||||
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/analyzer
|
||||
name = "subspace wavelength analyzer"
|
||||
icon_state = "wavelength_analyzer"
|
||||
desc = "A sophisticated analyzer capable of analyzing cryptic subspace wavelengths."
|
||||
origin_tech = "programming=2;magnets=2;materials=2;bluespace=1"
|
||||
origin_tech = "programming=2;magnets=2;materials=2;bluespace=2"
|
||||
materials = list(MAT_METAL=30, MAT_GLASS=10)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/crystal
|
||||
name = "ansible crystal"
|
||||
icon_state = "ansible_crystal"
|
||||
desc = "A crystal made from pure glass used to transmit laser databursts to subspace."
|
||||
origin_tech = "magnets=2;materials=2;bluespace=1"
|
||||
origin_tech = "magnets=2;materials=2;bluespace=2;plasmatech=2"
|
||||
materials = list(MAT_GLASS=50)
|
||||
|
||||
/obj/item/weapon/stock_parts/subspace/transmitter
|
||||
name = "subspace transmitter"
|
||||
icon_state = "subspace_transmitter"
|
||||
desc = "A large piece of equipment used to open a window into the subspace dimension."
|
||||
origin_tech = "magnets=3;materials=3;bluespace=2"
|
||||
origin_tech = "magnets=2;materials=2;bluespace=2"
|
||||
materials = list(MAT_METAL=50)
|
||||
|
||||
/obj/item/weapon/research//Makes testing much less of a pain -Sieve
|
||||
@@ -298,4 +297,4 @@
|
||||
icon = 'icons/obj/stock_parts.dmi'
|
||||
icon_state = "capacitor"
|
||||
desc = "A debug item for research."
|
||||
origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8"
|
||||
origin_tech = "materials=8;programming=8;magnets=8;powerstorage=8;bluespace=8;combat=8;biotech=8;syndicate=8;engineering=8;plasmatech=8;abductor=8"
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
desc = "His Grace."
|
||||
force = 5
|
||||
throwforce = 10
|
||||
origin_tech = "combat=4;engineering=4;syndicate=2"
|
||||
var/list/servantlinks = list()
|
||||
var/hunger = 0
|
||||
var/hunger_message_level = 0
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
item_state = "backpack"
|
||||
lefthand_file = 'icons/mob/inhands/clothing_lefthand.dmi'
|
||||
righthand_file = 'icons/mob/inhands/clothing_righthand.dmi'
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK //ERROOOOO
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 21
|
||||
storage_slots = 21
|
||||
burn_state = FLAMMABLE
|
||||
@@ -33,63 +33,47 @@
|
||||
/obj/item/weapon/storage/backpack/holding
|
||||
name = "Bag of Holding"
|
||||
desc = "A backpack that opens into a localized pocket of Blue Space."
|
||||
origin_tech = "bluespace=4"
|
||||
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
|
||||
icon_state = "holdingpack"
|
||||
max_w_class = 5
|
||||
max_w_class = WEIGHT_CLASS_HUGE
|
||||
max_combined_w_class = 35
|
||||
burn_state = FIRE_PROOF
|
||||
|
||||
New()
|
||||
..()
|
||||
return
|
||||
/obj/item/weapon/storage/backpack/holding/New()
|
||||
..()
|
||||
return
|
||||
|
||||
attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
||||
if(crit_fail)
|
||||
to_chat(user, "<span class='warning'>The Bluespace generator isn't working.</span>")
|
||||
return
|
||||
else if(istype(W, /obj/item/weapon/storage/backpack/holding) && !W.crit_fail)
|
||||
var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No")
|
||||
if(response == "Yes")
|
||||
user.visible_message("<span class='warning'>[user] grins as \he begins to put a Bag of Holding into a Bag of Holding!</span>", "<span class='warning'>You begin to put the Bag of Holding into the Bag of Holding!</span>")
|
||||
if(do_after(user, 30, target=src))
|
||||
investigate_log("has become a singularity. Caused by [user.key]","singulo")
|
||||
user.visible_message("<span class='warning'>[user] erupts in evil laughter as \he puts the Bag of Holding into another Bag of Holding!</span>", "<span class='warning'>You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you.</span>","<span class='warning'> You hear the sound of scientific evil brewing! </span>")
|
||||
qdel(W)
|
||||
var/obj/singularity/singulo = new /obj/singularity(get_turf(user))
|
||||
singulo.energy = 300 //To give it a small boost
|
||||
message_admins("[key_name_admin(user)] detonated a bag of holding <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
|
||||
log_game("[key_name(user)] detonated a bag of holding")
|
||||
qdel(src)
|
||||
else
|
||||
user.visible_message("After careful consideration, [user] has decided that putting a Bag of Holding inside another Bag of Holding would not yield the ideal outcome.","You come to the realization that this might not be the greatest idea.")
|
||||
else
|
||||
. = ..()
|
||||
|
||||
proc/failcheck(mob/user as mob)
|
||||
if(prob(src.reliability)) return 1 //No failure
|
||||
if(prob(src.reliability))
|
||||
to_chat(user, "<span class='warning'>The Bluespace portal resists your attempt to add another item.</span>")//light failure
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The Bluespace generator malfunctions!</span>")
|
||||
for(var/obj/O in src.contents) //it broke, delete what was in it
|
||||
qdel(O)
|
||||
crit_fail = 1
|
||||
icon_state = "brokenpack"
|
||||
|
||||
singularity_act(current_size)
|
||||
var/dist = max((current_size - 2),1)
|
||||
explosion(src.loc,(dist),(dist*2),(dist*4))
|
||||
return
|
||||
/obj/item/weapon/storage/backpack/holding/attackby(obj/item/weapon/W, mob/user, params)
|
||||
if(istype(W, /obj/item/weapon/storage/backpack/holding))
|
||||
var/response = alert(user, "Are you sure you want to put the bag of holding inside another bag of holding?","Are you sure you want to die?","Yes","No")
|
||||
if(response == "Yes")
|
||||
user.visible_message("<span class='warning'>[user] grins as \he begins to put a Bag of Holding into a Bag of Holding!</span>", "<span class='warning'>You begin to put the Bag of Holding into the Bag of Holding!</span>")
|
||||
if(do_after(user, 30, target=src))
|
||||
investigate_log("has become a singularity. Caused by [user.key]","singulo")
|
||||
user.visible_message("<span class='warning'>[user] erupts in evil laughter as \he puts the Bag of Holding into another Bag of Holding!</span>", "<span class='warning'>You can't help but laugh wildly as you put the Bag of Holding into another Bag of Holding, complete darkness surrounding you.</span>","<span class='warning'> You hear the sound of scientific evil brewing! </span>")
|
||||
qdel(W)
|
||||
var/obj/singularity/singulo = new /obj/singularity(get_turf(user))
|
||||
singulo.energy = 300 //To give it a small boost
|
||||
message_admins("[key_name_admin(user)] detonated a bag of holding <A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
|
||||
log_game("[key_name(user)] detonated a bag of holding")
|
||||
qdel(src)
|
||||
else
|
||||
user.visible_message("After careful consideration, [user] has decided that putting a Bag of Holding inside another Bag of Holding would not yield the ideal outcome.","You come to the realization that this might not be the greatest idea.")
|
||||
else
|
||||
. = ..()
|
||||
|
||||
/obj/item/weapon/storage/backpack/holding/singularity_act(current_size)
|
||||
var/dist = max((current_size - 2),1)
|
||||
explosion(src.loc,(dist),(dist*2),(dist*4))
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/backpack/santabag
|
||||
name = "Santa's Gift Bag"
|
||||
desc = "Space Santa uses this to deliver toys to all the nice children in space on Christmas! Wow, it's pretty big!"
|
||||
icon_state = "giftbag0"
|
||||
item_state = "giftbag"
|
||||
w_class = 4
|
||||
max_w_class = 3
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 400 // can store a ton of shit!
|
||||
|
||||
/obj/item/weapon/storage/backpack/cultpack
|
||||
@@ -243,7 +227,7 @@
|
||||
name = "smuggler's satchel"
|
||||
desc = "A very slim satchel that can easily fit into tight spaces."
|
||||
icon_state = "satchel-flat"
|
||||
w_class = 3 //Can fit in backpacks itself.
|
||||
w_class = WEIGHT_CLASS_NORMAL //Can fit in backpacks itself.
|
||||
max_combined_w_class = 15
|
||||
level = 1
|
||||
cant_hold = list(/obj/item/weapon/storage/backpack/satchel_flat) //muh recursive backpacks
|
||||
|
||||
@@ -33,8 +33,8 @@
|
||||
icon_state = "trashbag"
|
||||
item_state = "trashbag"
|
||||
|
||||
w_class = 1
|
||||
max_w_class = 2
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
storage_slots = 30
|
||||
can_hold = list() // any
|
||||
cant_hold = list(/obj/item/weapon/disk/nuclear)
|
||||
@@ -46,16 +46,16 @@
|
||||
|
||||
/obj/item/weapon/storage/bag/trash/update_icon()
|
||||
if(contents.len == 0)
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
icon_state = "[initial(icon_state)]"
|
||||
else if(contents.len < 12)
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
icon_state = "[initial(icon_state)]1"
|
||||
else if(contents.len < 21)
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
icon_state = "[initial(icon_state)]2"
|
||||
else
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
icon_state = "[initial(icon_state)]3"
|
||||
|
||||
/obj/item/weapon/storage/bag/trash/cyborg
|
||||
@@ -72,6 +72,7 @@
|
||||
name = "trash bag of holding"
|
||||
desc = "The latest and greatest in custodial convenience, a trashbag that is capable of holding vast quantities of garbage."
|
||||
icon_state = "bluetrashbag"
|
||||
origin_tech = "materials=4;bluespace=4;engineering=4;plasmatech=3"
|
||||
max_combined_w_class = 60
|
||||
storage_slots = 60
|
||||
|
||||
@@ -88,8 +89,8 @@
|
||||
item_state = "plasticbag"
|
||||
slot_flags = SLOT_HEAD|SLOT_BELT
|
||||
throwforce = 0
|
||||
w_class = 4
|
||||
max_w_class = 2
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
storage_slots = 7
|
||||
display_contents_with_number = 0 //or else this will lead to stupid behavior.
|
||||
can_hold = list() // any
|
||||
@@ -131,11 +132,12 @@
|
||||
desc = "This little bugger can be used to store and transport ores."
|
||||
icon = 'icons/obj/mining.dmi'
|
||||
icon_state = "satchel"
|
||||
origin_tech = "engineering=2"
|
||||
slot_flags = SLOT_BELT | SLOT_POCKET
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
storage_slots = 50
|
||||
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * ore.w_class
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
can_hold = list(/obj/item/weapon/ore)
|
||||
|
||||
/obj/item/weapon/storage/bag/ore/cyborg
|
||||
@@ -147,7 +149,7 @@
|
||||
desc = "A revolution in convenience, this satchel allows for infinite ore storage. It's been outfitted with anti-malfunction safety measures."
|
||||
storage_slots = INFINITY
|
||||
max_combined_w_class = INFINITY
|
||||
origin_tech = "bluespace=3"
|
||||
origin_tech = "bluespace=4;materials=3;engineering=3"
|
||||
icon_state = "satchel_bspace"
|
||||
|
||||
/obj/item/weapon/storage/bag/ore/holding/cyborg
|
||||
@@ -164,8 +166,8 @@
|
||||
icon_state = "plantbag"
|
||||
storage_slots = 100 //the number of plant pieces it can carry.
|
||||
max_combined_w_class = 100 //Doesn't matter what this is, so long as it's more or equal to storage_slots * plants.w_class
|
||||
max_w_class = 3
|
||||
w_class = 1
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/snacks/grown,/obj/item/seeds,/obj/item/weapon/grown,/obj/item/weapon/reagent_containers/food/snacks/ash_flora)
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
@@ -202,7 +204,7 @@
|
||||
desc = "A patented Nanotrasen storage system designed for any kind of mineral sheet."
|
||||
|
||||
var/capacity = 300; //the number of sheets it can carry.
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
allow_quick_empty = 1 // this function is superceded
|
||||
New()
|
||||
@@ -343,8 +345,8 @@
|
||||
desc = "A bag for carrying lots of cash. It's got a big dollar sign printed on the front."
|
||||
storage_slots = 50; //the number of cash pieces it can carry.
|
||||
max_combined_w_class = 200 //Doesn't matter what this is, so long as it's more or equal to storage_slots * cash.w_class
|
||||
max_w_class = 3
|
||||
w_class = 1
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
can_hold = list(/obj/item/weapon/coin,/obj/item/stack/spacecash)
|
||||
|
||||
// -----------------------------
|
||||
@@ -359,8 +361,8 @@
|
||||
display_contents_with_number = 0 //This would look really stupid otherwise
|
||||
storage_slots = 7
|
||||
max_combined_w_class = 21
|
||||
max_w_class = 3
|
||||
w_class = 4 //Bigger than a book because physics
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
w_class = WEIGHT_CLASS_BULKY //Bigger than a book because physics
|
||||
can_hold = list(/obj/item/weapon/book, /obj/item/weapon/storage/bible, /obj/item/weapon/tome, /obj/item/weapon/spellbook)
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
@@ -376,7 +378,7 @@
|
||||
throwforce = 10.0
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
flags = CONDUCT
|
||||
materials = list(MAT_METAL=3000)
|
||||
|
||||
@@ -469,7 +471,7 @@
|
||||
desc = "A bag for storing pills, patches, and bottles."
|
||||
storage_slots = 50
|
||||
max_combined_w_class = 200
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/pill,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle)
|
||||
burn_state = FLAMMABLE
|
||||
/*
|
||||
@@ -483,6 +485,6 @@
|
||||
desc = "A bag for the safe transportation and disposal of biowaste and other biological materials."
|
||||
storage_slots = 25
|
||||
max_combined_w_class = 200
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
can_hold = list(/obj/item/slime_extract,/obj/item/weapon/reagent_containers/food/snacks/monkeycube,/obj/item/weapon/reagent_containers/syringe,/obj/item/weapon/reagent_containers/glass/beaker,/obj/item/weapon/reagent_containers/glass/bottle,/obj/item/weapon/reagent_containers/blood,/obj/item/weapon/reagent_containers/hypospray/autoinjector)
|
||||
burn_state = FLAMMABLE
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
icon_state = "securitybelt"
|
||||
item_state = "security"//Could likely use a better one.
|
||||
storage_slots = 5
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
use_item_overlays = 1
|
||||
can_hold = list(
|
||||
/obj/item/weapon/grenade/flashbang,
|
||||
@@ -249,7 +249,7 @@
|
||||
icon_state = "militarybelt"
|
||||
item_state = "military"
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
|
||||
/obj/item/weapon/storage/belt/military/abductor
|
||||
name = "agent belt"
|
||||
desc = "A belt used by abductor agents."
|
||||
@@ -280,7 +280,7 @@
|
||||
icon_state = "janibelt"
|
||||
item_state = "janibelt"
|
||||
storage_slots = 6
|
||||
max_w_class = 4 // Set to this so the light replacer can fit.
|
||||
max_w_class = WEIGHT_CLASS_BULKY // Set to this so the light replacer can fit.
|
||||
use_item_overlays = 1
|
||||
can_hold = list(
|
||||
/obj/item/weapon/grenade/chem_grenade/cleaner,
|
||||
@@ -306,8 +306,8 @@
|
||||
desc = "For the mining master, holds your lazarus capsules."
|
||||
icon_state = "lazarusbelt"
|
||||
item_state = "lazbelt"
|
||||
w_class = 4
|
||||
max_w_class = 1
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_TINY
|
||||
max_combined_w_class = 6
|
||||
storage_slots = 6
|
||||
can_hold = list(/obj/item/device/mobcapsule)
|
||||
@@ -379,7 +379,7 @@
|
||||
icon_state = "holster"
|
||||
item_state = "holster"
|
||||
storage_slots = 1
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
can_hold = list(
|
||||
/obj/item/weapon/gun/projectile/automatic/pistol,
|
||||
/obj/item/weapon/gun/projectile/revolver/detective
|
||||
@@ -417,7 +417,7 @@
|
||||
icon_state = "fannypack_leather"
|
||||
item_state = "fannypack_leather"
|
||||
storage_slots = 3
|
||||
max_w_class = 2
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/obj/item/weapon/storage/belt/fannypack/black
|
||||
name = "black fannypack"
|
||||
@@ -475,8 +475,8 @@
|
||||
icon_state = "sheath"
|
||||
item_state = "sheath"
|
||||
storage_slots = 1
|
||||
w_class = 4
|
||||
max_w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_BULKY
|
||||
can_hold = list(/obj/item/weapon/melee/rapier)
|
||||
|
||||
/obj/item/weapon/storage/belt/rapier/update_icon()
|
||||
@@ -506,33 +506,21 @@
|
||||
icon_state = "holdingbelt"
|
||||
item_state = "holdingbelt"
|
||||
storage_slots = 14
|
||||
w_class = 4
|
||||
max_w_class = 2
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
max_combined_w_class = 21 // = 14 * 1.5, not 14 * 2. This is deliberate
|
||||
origin_tech = "bluespace=4"
|
||||
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
|
||||
can_hold = list()
|
||||
|
||||
proc/failcheck(mob/user as mob)
|
||||
if(prob(src.reliability)) return 1 //No failure
|
||||
if(prob(src.reliability))
|
||||
to_chat(user, "<span class='warning'>The Bluespace portal resists your attempt to add another item.</span>")//light failure
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='warning'>The Bluespace generator malfunctions!</span>")
|
||||
for(var/obj/O in src.contents) //it broke, delete what was in it
|
||||
qdel(O)
|
||||
crit_fail = 1
|
||||
return 0
|
||||
|
||||
/obj/item/weapon/storage/belt/bluespace/owlman
|
||||
name = "Owlman's utility belt"
|
||||
desc = "Sometimes people choose justice. Sometimes, justice chooses you..."
|
||||
icon_state = "securitybelt"
|
||||
item_state = "security"
|
||||
storage_slots = 6
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 18
|
||||
origin_tech = "bluespace=4;syndicate=2"
|
||||
origin_tech = "bluespace=5;materials=4;engineering=4;plasmatech=5"
|
||||
allow_quick_empty = 1
|
||||
can_hold = list(
|
||||
/obj/item/weapon/grenade/smokebomb,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
icon_state ="bible"
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
burn_state = FLAMMABLE
|
||||
var/mob/affecting = null
|
||||
var/deity_name = "Christ"
|
||||
|
||||
@@ -634,8 +634,8 @@
|
||||
icon_state = "matchbox"
|
||||
item_state = "zippo"
|
||||
storage_slots = 10
|
||||
w_class = 1
|
||||
max_w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
max_w_class = WEIGHT_CLASS_TINY
|
||||
slot_flags = SLOT_BELT
|
||||
can_hold = list(/obj/item/weapon/match)
|
||||
|
||||
@@ -810,4 +810,4 @@
|
||||
#undef NANOTRASEN
|
||||
#undef SYNDI
|
||||
#undef HEART
|
||||
#undef SMILE
|
||||
#undef SMILE
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
force = 8.0
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
w_class = 4
|
||||
max_w_class = 3
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 21
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
||||
burn_state = FLAMMABLE
|
||||
burntime = 20
|
||||
|
||||
/obj/item/weapon/storage/briefcase/New()
|
||||
..()
|
||||
..()
|
||||
|
||||
@@ -115,7 +115,7 @@
|
||||
desc = "A box of crayons for all your rune drawing needs."
|
||||
icon = 'icons/obj/crayons.dmi'
|
||||
icon_state = "crayonbox"
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
storage_slots = 6
|
||||
icon_type = "crayon"
|
||||
can_hold = list(
|
||||
@@ -158,7 +158,7 @@
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
icon_state = "cigpacket"
|
||||
item_state = "cigpacket"
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 2
|
||||
slot_flags = SLOT_BELT
|
||||
storage_slots = 6
|
||||
@@ -318,7 +318,7 @@
|
||||
/obj/item/weapon/storage/fancy/rollingpapers
|
||||
name = "rolling paper pack"
|
||||
desc = "A pack of NanoTrasen brand rolling papers."
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
icon = 'icons/obj/cigarettes.dmi'
|
||||
icon_state = "cig_paper_pack"
|
||||
storage_slots = 10
|
||||
@@ -360,7 +360,7 @@
|
||||
icon = 'icons/obj/vialbox.dmi'
|
||||
icon_state = "vialbox0"
|
||||
item_state = "syringe_kit"
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/glass/beaker/vial)
|
||||
max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
|
||||
storage_slots = 6
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
name = "first-aid kit"
|
||||
icon_state = "bezerk"
|
||||
desc = "I hope you've got insurance."
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
treatment_oxy = "perfluorodecalin"
|
||||
treatment_brute = "styptic_powder"
|
||||
treatment_fire = "silver_sulfadiazine"
|
||||
@@ -181,7 +181,7 @@
|
||||
name = "field surgery kit"
|
||||
icon_state = "duffel-med"
|
||||
desc = "A kit for surgery in the field."
|
||||
max_w_class = 4
|
||||
max_w_class = WEIGHT_CLASS_BULKY
|
||||
max_combined_w_class = 21
|
||||
storage_slots = 10
|
||||
can_hold = list(/obj/item/roller,/obj/item/weapon/bonesetter,/obj/item/weapon/bonegel, /obj/item/weapon/scalpel, /obj/item/weapon/hemostat,
|
||||
@@ -209,7 +209,7 @@
|
||||
icon_state = "pill_canister"
|
||||
icon = 'icons/obj/chemical.dmi'
|
||||
item_state = "contsolid"
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
can_hold = list(/obj/item/weapon/reagent_containers/food/pill, /obj/item/weapon/dice, /obj/item/weapon/paper)
|
||||
allow_quick_gather = 1
|
||||
use_to_pickup = 1
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
desc = "A locked box."
|
||||
icon_state = "lockbox+l"
|
||||
item_state = "syringe_kit"
|
||||
w_class = 4
|
||||
max_w_class = 3
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
|
||||
storage_slots = 4
|
||||
req_access = list(access_armory)
|
||||
@@ -76,7 +76,7 @@
|
||||
/obj/item/weapon/storage/lockbox/large
|
||||
name = "Large lockbox"
|
||||
desc = "A large lockbox"
|
||||
max_w_class = 4
|
||||
max_w_class = WEIGHT_CLASS_BULKY
|
||||
max_combined_w_class = 4 //The sum of the w_classes of all the items in this storage item.
|
||||
storage_slots = 1
|
||||
|
||||
@@ -105,8 +105,8 @@
|
||||
desc = "A locked box used to store medals of honor."
|
||||
icon_state = "medalbox+l"
|
||||
item_state = "syringe_kit"
|
||||
w_class = 3
|
||||
max_w_class = 2
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
max_combined_w_class = 20
|
||||
storage_slots = 12
|
||||
req_access = list(access_captain)
|
||||
|
||||
@@ -23,8 +23,8 @@
|
||||
var/l_hacking = 0
|
||||
var/emagged = 0
|
||||
var/open = 0
|
||||
w_class = 3
|
||||
max_w_class = 2
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
max_w_class = WEIGHT_CLASS_SMALL
|
||||
max_combined_w_class = 14
|
||||
|
||||
/obj/item/weapon/storage/secure/examine(mob/user)
|
||||
@@ -180,8 +180,8 @@
|
||||
force = 8
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
w_class = 4
|
||||
max_w_class = 3
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
max_combined_w_class = 21
|
||||
attack_verb = list("bashed", "battered", "bludgeoned", "thrashed", "whacked")
|
||||
|
||||
@@ -228,7 +228,7 @@
|
||||
icon_locking = "safeb"
|
||||
icon_sparking = "safespark"
|
||||
force = 8
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
max_w_class = 8
|
||||
anchored = 1
|
||||
density = 0
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
/obj/item/weapon/storage
|
||||
name = "storage"
|
||||
icon = 'icons/obj/storage.dmi'
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
var/silent = 0 // No message on putting items in
|
||||
var/list/can_hold = new/list() //List of objects which this item can store (if set, it can't store anything else)
|
||||
var/list/cant_hold = new/list() //List of objects which this item can't store (in effect only if can_hold isn't set)
|
||||
var/max_w_class = 2 //Max size of objects that this object can store (in effect only if can_hold isn't set)
|
||||
var/max_w_class = WEIGHT_CLASS_SMALL //Max size of objects that this object can store (in effect only if can_hold isn't set)
|
||||
var/max_combined_w_class = 14 //The sum of the w_classes of all the items in this storage item.
|
||||
var/storage_slots = 7 //The number of storage slots in this container.
|
||||
var/obj/screen/storage/boxes = null
|
||||
@@ -304,7 +304,7 @@
|
||||
to_chat(usr, "<span class='notice'>You put the [W] into [src].</span>")
|
||||
else if(M in range(1)) //If someone is standing close enough, they can tell what it is...
|
||||
M.show_message("<span class='notice'>[usr] puts [W] into [src].</span>")
|
||||
else if(W && W.w_class >= 3.0) //Otherwise they can only see large or normal items from a distance...
|
||||
else if(W && W.w_class >= WEIGHT_CLASS_NORMAL) //Otherwise they can only see large or normal items from a distance...
|
||||
M.show_message("<span class='notice'>[usr] puts [W] into [src].</span>")
|
||||
|
||||
src.orient2hud(usr)
|
||||
|
||||
@@ -9,9 +9,9 @@
|
||||
throwforce = 10.0
|
||||
throw_speed = 2
|
||||
throw_range = 7
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
materials = list(MAT_METAL = 500)
|
||||
origin_tech = "combat=1"
|
||||
origin_tech = "combat=1;engineering=1"
|
||||
attack_verb = list("robusted")
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
name = "suspicious looking toolbox"
|
||||
icon_state = "syndicate"
|
||||
item_state = "toolbox_syndi"
|
||||
origin_tech = "combat=1;syndicate=1"
|
||||
origin_tech = "combat=2;syndicate=1;engineering=2"
|
||||
silent = 1
|
||||
force = 15.0
|
||||
throwforce = 18.0
|
||||
@@ -85,7 +85,7 @@
|
||||
new /obj/item/weapon/wirecutters(src, "red")
|
||||
new /obj/item/device/multitool(src)
|
||||
new /obj/item/clothing/gloves/combat(src)
|
||||
|
||||
|
||||
/obj/item/weapon/storage/toolbox/drone
|
||||
name = "mechanical toolbox"
|
||||
icon_state = "blue"
|
||||
@@ -119,4 +119,4 @@
|
||||
new /obj/item/weapon/wirecutters/brass(src)
|
||||
new /obj/item/weapon/wrench/brass(src)
|
||||
new /obj/item/weapon/crowbar/brass(src)
|
||||
new /obj/item/weapon/weldingtool/experimental/brass(src)
|
||||
new /obj/item/weapon/weldingtool/experimental/brass(src)
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
new /obj/item/clothing/suit/hooded/chaplain_hoodie(src)
|
||||
new /obj/item/weapon/card/id/syndicate(src)
|
||||
return
|
||||
|
||||
|
||||
if("gadgets")
|
||||
new /obj/item/clothing/gloves/color/yellow/power(src)
|
||||
new /obj/item/weapon/pen/sleepy(src)
|
||||
@@ -88,7 +88,7 @@
|
||||
/obj/item/weapon/storage/box/syndie_kit/space
|
||||
name = "Boxed Space Suit and Helmet"
|
||||
can_hold = list(/obj/item/clothing/suit/space/syndicate/black/red, /obj/item/clothing/head/helmet/space/syndicate/black/red)
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/space/New()
|
||||
..()
|
||||
@@ -99,7 +99,7 @@
|
||||
/obj/item/weapon/storage/box/syndie_kit/hardsuit
|
||||
name = "Boxed Blood Red Suit and Helmet"
|
||||
can_hold = list(/obj/item/clothing/suit/space/hardsuit/syndi, /obj/item/clothing/head/helmet/space/hardsuit/syndi)
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/hardsuit/New()
|
||||
..()
|
||||
@@ -110,7 +110,7 @@
|
||||
/obj/item/weapon/storage/box/syndie_kit/elite_hardsuit
|
||||
name = "Boxed Elite Syndicate Hardsuit and Helmet"
|
||||
can_hold = list(/obj/item/clothing/suit/space/hardsuit/syndi/elite, /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite)
|
||||
max_w_class = 3
|
||||
max_w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/elite_hardsuit/New()
|
||||
..()
|
||||
@@ -120,7 +120,7 @@
|
||||
/obj/item/weapon/storage/box/syndie_kit/shielded_hardsuit
|
||||
name = "Boxed Shielded Syndicate Hardsuit and Helmet"
|
||||
can_hold = list(/obj/item/clothing/suit/space/hardsuit/shielded/syndi, /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi)
|
||||
max_w_class = 4
|
||||
max_w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
/obj/item/weapon/storage/box/syndie_kit/shielded_hardsuit/New()
|
||||
..()
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
storage_slots = 10
|
||||
icon = 'icons/obj/wallets.dmi'
|
||||
icon_state = "wallet"
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
burn_state = FLAMMABLE
|
||||
can_hold = list(
|
||||
/obj/item/stack/spacecash,
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
slot_flags = SLOT_BELT
|
||||
force = 10
|
||||
throwforce = 7
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
origin_tech = "combat=2"
|
||||
attack_verb = list("beaten")
|
||||
var/stunforce = 7
|
||||
@@ -165,8 +165,6 @@
|
||||
/obj/item/weapon/melee/baton/emp_act(severity)
|
||||
if(bcell)
|
||||
deductcharge(1000 / severity)
|
||||
if(bcell.reliability != 100 && prob(50/severity))
|
||||
bcell.reliability -= 10 / severity
|
||||
..()
|
||||
|
||||
/obj/item/weapon/melee/baton/wash(mob/user, atom/source)
|
||||
@@ -190,7 +188,7 @@
|
||||
icon_state = "stunprod_nocell"
|
||||
base_icon = "stunprod"
|
||||
item_state = "prod"
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
force = 3
|
||||
throwforce = 5
|
||||
stunforce = 5
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
item_state = "classic_baton"
|
||||
slot_flags = SLOT_BELT
|
||||
force = 12 //9 hit crit
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
var/cooldown = 0
|
||||
var/on = 1
|
||||
|
||||
@@ -90,7 +90,7 @@
|
||||
icon_state = "telebaton_0"
|
||||
item_state = null
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
needs_permit = 0
|
||||
force = 0
|
||||
on = 0
|
||||
@@ -101,7 +101,7 @@
|
||||
to_chat(user, "<span class ='warning'>You extend the baton.</span>")
|
||||
icon_state = "telebaton_1"
|
||||
item_state = "nullrod"
|
||||
w_class = 4 //doesnt fit in backpack when its on for balance
|
||||
w_class = WEIGHT_CLASS_BULKY //doesnt fit in backpack when its on for balance
|
||||
force = 10 //stunbaton damage
|
||||
attack_verb = list("smacked", "struck", "cracked", "beaten")
|
||||
else
|
||||
@@ -109,7 +109,7 @@
|
||||
icon_state = "telebaton_0"
|
||||
item_state = null //no sprite for concealment even when in hand
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force = 0 //not so robust now
|
||||
attack_verb = list("hit", "poked")
|
||||
if(istype(user,/mob/living/carbon/human))
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
var/mob/currentUser = null
|
||||
var/obj/item/device/radio/origradio = null
|
||||
flags = CONDUCT | ONBELT
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
item_state = "radio"
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
@@ -31,8 +31,8 @@
|
||||
slot_flags = SLOT_BELT
|
||||
item_state = "radio"
|
||||
throwforce = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
materials = list(MAT_METAL=100)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=1"
|
||||
|
||||
@@ -88,9 +88,10 @@
|
||||
for(var/obj/structure/table/T in user.loc)
|
||||
to_chat(user, "<span class=warning>You can't build tables on top of tables!</span>")
|
||||
return
|
||||
new result(user.loc)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
if(do_after(user, 20, target = loc))
|
||||
new result(user.loc)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
|
||||
/*
|
||||
* Rack Parts
|
||||
@@ -102,7 +103,8 @@
|
||||
qdel(src)
|
||||
|
||||
/obj/item/weapon/rack_parts/attack_self(mob/user as mob)
|
||||
var/obj/structure/rack/R = new /obj/structure/rack(user.loc)
|
||||
R.add_fingerprint(user)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
if(do_after(user, 20, target = loc))
|
||||
var/obj/structure/rack/R = new /obj/structure/rack(user.loc)
|
||||
R.add_fingerprint(user)
|
||||
user.drop_item()
|
||||
qdel(src)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
name = "Jetpack (Empty)"
|
||||
desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution."
|
||||
icon_state = "jetpack"
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
item_state = "jetpack"
|
||||
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
|
||||
var/datum/effect/system/ion_trail_follow/ion_trail
|
||||
@@ -116,7 +116,7 @@
|
||||
item_state = "jetpack-mini"
|
||||
volume = 40
|
||||
throw_range = 8
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
/obj/item/weapon/tank/jetpack/oxygenblack
|
||||
name = "Jetpack (Oxygen)"
|
||||
@@ -174,4 +174,4 @@
|
||||
var/turf/T = get_turf(user)
|
||||
T.assume_air(removed)
|
||||
|
||||
return 1
|
||||
return 1
|
||||
|
||||
@@ -126,7 +126,7 @@
|
||||
icon_state = "emergency"
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BELT
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force = 4.0
|
||||
distribute_pressure = ONE_ATMOSPHERE*O2STANDARD
|
||||
volume = 3 //Tiny. Real life equivalents only have 21 breaths of oxygen in them. They're EMERGENCY tanks anyway -errorage (dangercon 2011)
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
flags = CONDUCT
|
||||
slot_flags = SLOT_BACK
|
||||
hitsound = 'sound/weapons/smash.ogg'
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
|
||||
pressure_resistance = ONE_ATMOSPHERE*5
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon = 'icons/obj/watertank.dmi'
|
||||
icon_state = "waterbackpack"
|
||||
item_state = "waterbackpack"
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK
|
||||
slowdown = 1
|
||||
actions_types = list(/datum/action/item_action/toggle_mister)
|
||||
@@ -112,7 +112,7 @@
|
||||
icon = 'icons/obj/watertank.dmi'
|
||||
icon_state = "mister"
|
||||
item_state = "mister"
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
amount_per_transfer_from_this = 50
|
||||
possible_transfer_amounts = list(25,50,100)
|
||||
volume = 500
|
||||
@@ -220,7 +220,7 @@
|
||||
power = 8
|
||||
precision = 1
|
||||
cooling_power = 5
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
flags = NODROP //Necessary to ensure that the nozzle and tank never seperate
|
||||
var/obj/item/weapon/watertank/tank
|
||||
var/nozzle_mode = 0
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
desc = "A roll of sticky tape. Possibly for taping ducks... or was that ducts?"
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "taperoll"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
amount = 10
|
||||
max_amount = 10
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
desc = "A piece of sticky tape."
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "tape"
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
layer = 4
|
||||
anchored = 1 //it's sticky, no you cant move it
|
||||
|
||||
|
||||
@@ -17,12 +17,12 @@
|
||||
var/broadcasting = null
|
||||
var/listening = 1.0
|
||||
flags = CONDUCT
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
item_state = "electronic"
|
||||
throw_speed = 4
|
||||
throw_range = 20
|
||||
materials = list(MAT_METAL=400)
|
||||
origin_tech = "magnets=1"
|
||||
origin_tech = "magnets=3;bluespace=2"
|
||||
|
||||
/obj/item/weapon/locator/attack_self(mob/user as mob)
|
||||
add_fingerprint(usr)
|
||||
@@ -98,11 +98,11 @@ Frequency:
|
||||
icon_state = "hand_tele"
|
||||
item_state = "electronic"
|
||||
throwforce = 0
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throw_speed = 3
|
||||
throw_range = 5
|
||||
materials = list(MAT_METAL=10000)
|
||||
origin_tech = "magnets=1;bluespace=3"
|
||||
origin_tech = "magnets=3;bluespace=4"
|
||||
var/active_portals = 0
|
||||
|
||||
/obj/item/weapon/hand_tele/attack_self(mob/user as mob)
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
|
||||
///////////OFFHAND///////////////
|
||||
/obj/item/weapon/twohanded/offhand
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
icon_state = "offhand"
|
||||
name = "offhand"
|
||||
flags = ABSTRACT
|
||||
@@ -123,7 +123,7 @@
|
||||
///////////Two hand required objects///////////////
|
||||
//This is for objects that require two hands to even pick up
|
||||
/obj/item/weapon/twohanded/required/
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
|
||||
/obj/item/weapon/twohanded/required/attack_self()
|
||||
return
|
||||
@@ -163,7 +163,7 @@
|
||||
throwforce = 15
|
||||
sharp = 1
|
||||
edge = 1
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK
|
||||
force_unwielded = 5
|
||||
force_wielded = 24
|
||||
@@ -199,13 +199,13 @@
|
||||
throwforce = 5.0
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
force_unwielded = 3
|
||||
force_wielded = 34
|
||||
wieldsound = 'sound/weapons/saberon.ogg'
|
||||
unwieldsound = 'sound/weapons/saberoff.ogg'
|
||||
armour_penetration = 35
|
||||
origin_tech = "magnets=3;syndicate=4"
|
||||
origin_tech = "magnets=4;syndicate=5"
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
block_chance = 75
|
||||
sharp = 1
|
||||
@@ -286,7 +286,7 @@
|
||||
name = "spear"
|
||||
desc = "A haphazardly-constructed yet still deadly weapon of ancient design."
|
||||
force = 10
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
slot_flags = SLOT_BACK
|
||||
force_unwielded = 10
|
||||
force_wielded = 18
|
||||
@@ -433,7 +433,7 @@
|
||||
flags = CONDUCT
|
||||
force = 13
|
||||
var/force_on = 21
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
throwforce = 13
|
||||
throw_speed = 2
|
||||
throw_range = 4
|
||||
@@ -490,7 +490,7 @@
|
||||
throwforce = 15
|
||||
throw_speed = 1
|
||||
throw_range = 5
|
||||
w_class = 4 // can't fit in backpacks
|
||||
w_class = WEIGHT_CLASS_BULKY // can't fit in backpacks
|
||||
force_unwielded = 15 //still pretty robust
|
||||
force_wielded = 40 //you'll gouge their eye out! Or a limb...maybe even their entire body!
|
||||
wieldsound = 'sound/weapons/chainsawstart.ogg'
|
||||
@@ -545,9 +545,9 @@
|
||||
force_wielded = 20
|
||||
throwforce = 15
|
||||
throw_range = 1
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
var/charged = 5
|
||||
origin_tech = "combat=5;bluespace=4"
|
||||
origin_tech = "combat=4;bluespace=4;plasmatech=7"
|
||||
|
||||
/obj/item/weapon/twohanded/singularityhammer/New()
|
||||
..()
|
||||
@@ -610,9 +610,9 @@
|
||||
force_wielded = 25
|
||||
throwforce = 30
|
||||
throw_range = 7
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
//var/charged = 5
|
||||
origin_tech = "combat=5;powerstorage=5"
|
||||
origin_tech = "combat=4;powerstorage=7"
|
||||
|
||||
/obj/item/weapon/twohanded/mjollnir/proc/shock(mob/living/target as mob)
|
||||
var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread()
|
||||
@@ -658,7 +658,7 @@
|
||||
force_wielded = 30
|
||||
throwforce = 15
|
||||
throw_range = 1
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
var/charged = 5
|
||||
origin_tech = "combat=5;bluespace=4"
|
||||
|
||||
@@ -719,7 +719,7 @@
|
||||
throwforce = 15
|
||||
sharp = 1
|
||||
edge = 1
|
||||
w_class = 5
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
armour_penetration = 20
|
||||
slot_flags = SLOT_BACK
|
||||
force_unwielded = 5
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
throwforce = 10.0
|
||||
throw_speed = 1
|
||||
throw_range = 7
|
||||
w_class = 4
|
||||
w_class = WEIGHT_CLASS_BULKY
|
||||
|
||||
var/charges = 0 //how many restocking "charges" the refill has
|
||||
|
||||
@@ -86,4 +86,3 @@
|
||||
/obj/item/weapon/vending_refill/chinese
|
||||
machine_name = "MrChangs"
|
||||
charges = 8// of 24
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
icon_state = "toyhammer"
|
||||
slot_flags = SLOT_BELT
|
||||
throwforce = 0
|
||||
w_class = 1
|
||||
w_class = WEIGHT_CLASS_TINY
|
||||
throw_speed = 7
|
||||
throw_range = 15
|
||||
attack_verb = list("banned")
|
||||
@@ -23,7 +23,7 @@
|
||||
slot_flags = SLOT_BELT
|
||||
force = 2
|
||||
throwforce = 1
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
throwforce = 10
|
||||
sharp = 1
|
||||
edge = 1
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
block_chance = 50
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
throwforce = 10
|
||||
sharp = 1
|
||||
edge = 1
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
block_chance = 50
|
||||
@@ -89,7 +89,7 @@
|
||||
item_state = "harpoon"
|
||||
force = 20
|
||||
throwforce = 15
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
attack_verb = list("jabbed","stabbed","ripped")
|
||||
|
||||
obj/item/weapon/wirerod
|
||||
@@ -100,7 +100,7 @@ obj/item/weapon/wirerod
|
||||
flags = CONDUCT
|
||||
force = 9
|
||||
throwforce = 10
|
||||
w_class = 3
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
materials = list(MAT_METAL=1150, MAT_GLASS=75)
|
||||
attack_verb = list("hit", "bludgeoned", "whacked", "bonked")
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
icon = 'icons/obj/kitchen.dmi'
|
||||
icon_state = "whetstone"
|
||||
desc = "A block of stone used to sharpen things."
|
||||
w_class = 2
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
usesound = 'sound/items/Screwdriver.ogg'
|
||||
var/used = 0
|
||||
var/increment = 4
|
||||
@@ -63,4 +63,4 @@
|
||||
increment = 200
|
||||
max = 200
|
||||
prefix = "super-sharpened"
|
||||
requires_sharpness = 0
|
||||
requires_sharpness = 0
|
||||
|
||||
Reference in New Issue
Block a user