mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-27 22:18:27 +01:00
@@ -308,8 +308,8 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
var/newname
|
||||
|
||||
for(var/i=1,i<=3,i++) //we get 3 attempts to pick a suitable name.
|
||||
newname = input(src,"You are a [role]. Would you like to change your name to something else?", "Name change",oldname) as text
|
||||
if((world.time-time_passed)>300)
|
||||
newname = input(src,"You are \a [role]. Would you like to change your name to something else?", "Name change",oldname) as text
|
||||
if((world.time-time_passed)>3000)
|
||||
return //took too long
|
||||
newname = reject_bad_name(newname,allow_numbers) //returns null if the name doesn't meet some basic requirements. Tidies up a few other things like bad-characters.
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@ var/global/list/additional_antag_types = list()
|
||||
new/datum/uplink_item(/obj/item/ammo_magazine/a357, 2, ".357", "RA"),
|
||||
new/datum/uplink_item(/obj/item/ammo_magazine/mc9mm, 2, "9mm", "R9"),
|
||||
new/datum/uplink_item(/obj/item/ammo_magazine/chemdart, 2, "Darts", "AD"),
|
||||
new/datum/uplink_item(/obj/item/weapon/storage/box/sniperammo, 4, "14.5mm", "SA")
|
||||
new/datum/uplink_item(/obj/item/weapon/storage/box/sniperammo, 2, "14.5mm", "SA")
|
||||
),
|
||||
"Highly Visible and Dangerous Weapons" = list(
|
||||
new/datum/uplink_item(/obj/item/weapon/storage/box/emps, 3, "5 EMP Grenades", "EM"),
|
||||
@@ -80,7 +80,7 @@ var/global/list/additional_antag_types = list()
|
||||
new/datum/uplink_item(/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser, 6, "Exosuit Rigged Laser", "RL"),
|
||||
new/datum/uplink_item(/obj/item/weapon/gun/projectile/revolver, 6, "Revolver", "RE"),
|
||||
new/datum/uplink_item(/obj/item/weapon/storage/box/syndicate, 10, "Mercenary Bundle", "BU"),
|
||||
new/datum/uplink_item(/obj/item/weapon/gun/projectile/heavysniper, 12, "PTRS Rifle", "BU")
|
||||
new/datum/uplink_item(/obj/item/weapon/gun/projectile/heavysniper, 12, "Anti-materiel Rifle", "AMR")
|
||||
),
|
||||
"Stealthy and Inconspicuous Weapons" = list(
|
||||
new/datum/uplink_item(/obj/item/weapon/soap/syndie, 1, "Subversive Soap", "SP"),
|
||||
|
||||
@@ -332,6 +332,12 @@
|
||||
hidden = 1
|
||||
category = "Arms and Ammunition"
|
||||
|
||||
/datum/autolathe/recipe/magazine_arifle
|
||||
name = "ammunition (7.62mm)"
|
||||
path = /obj/item/ammo_magazine/c762
|
||||
hidden = 1
|
||||
category = "Arms and Ammunition"
|
||||
|
||||
/datum/autolathe/recipe/magazine_smg
|
||||
name = "ammunition (9mm top mounted)"
|
||||
path = /obj/item/ammo_magazine/mc9mmt
|
||||
@@ -339,7 +345,7 @@
|
||||
category = "Arms and Ammunition"
|
||||
|
||||
/datum/autolathe/recipe/magazine_carbine
|
||||
name = "ammunition (5.56)"
|
||||
name = "ammunition (5.56mm)"
|
||||
path = /obj/item/ammo_magazine/a556
|
||||
hidden = 1
|
||||
category = "Arms and Ammunition"
|
||||
|
||||
@@ -68,5 +68,9 @@
|
||||
name = "\improper \"LiquidFood\" ration"
|
||||
icon_state = "liquidfood"
|
||||
|
||||
/obj/item/trash/tastybread
|
||||
name = "bread tube"
|
||||
icon_state = "tastybread"
|
||||
|
||||
/obj/item/trash/attack(mob/M as mob, mob/living/user as mob)
|
||||
return
|
||||
|
||||
@@ -721,7 +721,7 @@
|
||||
else
|
||||
//Want this to be roughly independant of the number of modules, meaning that X emp hits will disable Y% of the suit's modules on average.
|
||||
//that way people designing hardsuits don't have to worry (as much) about how adding that extra module will affect emp resiliance by 'soaking' hits for other modules
|
||||
chance = max(0, damage - emp_protection)*min(installed_modules.len/15, 1)
|
||||
chance = 2*max(0, damage - emp_protection)*min(installed_modules.len/15, 1)
|
||||
|
||||
if(!prob(chance))
|
||||
return
|
||||
|
||||
@@ -39,9 +39,9 @@
|
||||
flags_inv = HIDEJUMPSUIT|HIDETAIL
|
||||
flags = STOPPRESSUREDAMAGE | THICKMATERIAL | AIRTIGHT
|
||||
slowdown = 0
|
||||
//will reach 10 breach damage after 18 laser carbine blasts, or 7 revolver hits. Completely immune to smg hits.
|
||||
breach_threshold = 28
|
||||
resilience = 0.05
|
||||
//will reach 10 breach damage after 25 laser carbine blasts, 3 revolver hits, or ~1 PTR hit. Completely immune to smg or sts hits.
|
||||
breach_threshold = 38
|
||||
resilience = 0.2
|
||||
can_breach = 1
|
||||
sprite_sheets = list("Tajara" = 'icons/mob/species/tajaran/suit.dmi',"Unathi" = 'icons/mob/species/unathi/suit.dmi')
|
||||
supporting_limbs = list()
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
/obj/item/clothing/suit/space/rig/light
|
||||
name = "suit"
|
||||
breach_threshold = 18 //comparable to voidsuits
|
||||
resilience = 0.2
|
||||
|
||||
/obj/item/clothing/gloves/rig/light
|
||||
name = "gloves"
|
||||
@@ -82,8 +81,7 @@
|
||||
..()
|
||||
|
||||
/obj/item/clothing/suit/space/rig/light/ninja
|
||||
breach_threshold = 28 //comparable to regular hardsuits
|
||||
resilience = 0.05
|
||||
breach_threshold = 38 //comparable to regular hardsuits
|
||||
|
||||
/obj/item/weapon/rig/light/stealth
|
||||
name = "stealth suit control module"
|
||||
|
||||
@@ -234,7 +234,7 @@
|
||||
src.updatehealth()
|
||||
|
||||
// damage ONE external organ, organ gets randomly selected from damaged ones.
|
||||
/mob/living/proc/take_organ_damage(var/brute, var/burn)
|
||||
/mob/living/proc/take_organ_damage(var/brute, var/burn, var/emp=0)
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
adjustBruteLoss(brute)
|
||||
adjustFireLoss(burn)
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "repairbot"
|
||||
maxHealth = 35
|
||||
health = 35
|
||||
cell_emp_mult = 1
|
||||
universal_speak = 0
|
||||
universal_understand = 1
|
||||
gender = NEUTER
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
if(bruteloss<0) bruteloss = 0
|
||||
if(fireloss<0) fireloss = 0
|
||||
|
||||
/mob/living/silicon/robot/drone/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0)
|
||||
/mob/living/silicon/robot/drone/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0, var/emp = 0)
|
||||
take_overall_damage(brute,burn)
|
||||
|
||||
/mob/living/silicon/robot/drone/heal_organ_damage(var/brute, var/burn)
|
||||
|
||||
@@ -45,6 +45,8 @@
|
||||
var/obj/item/weapon/cell/cell = null
|
||||
var/obj/machinery/camera/camera = null
|
||||
|
||||
var/cell_emp_mult = 2
|
||||
|
||||
// Components are basically robot organs.
|
||||
var/list/components = list()
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
var/datum/robot_component/picked = pick(parts)
|
||||
picked.heal_damage(brute,burn)
|
||||
|
||||
/mob/living/silicon/robot/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0, var/edge = 0)
|
||||
/mob/living/silicon/robot/take_organ_damage(var/brute = 0, var/burn = 0, var/sharp = 0, var/edge = 0, var/emp = 0)
|
||||
var/list/components = get_damageable_components()
|
||||
if(!components.len)
|
||||
return
|
||||
@@ -84,10 +84,11 @@
|
||||
burn -= absorb_burn
|
||||
src << "\red Your shield absorbs some of the impact!"
|
||||
|
||||
var/datum/robot_component/armour/A = get_armour()
|
||||
if(A)
|
||||
A.take_damage(brute,burn,sharp,edge)
|
||||
return
|
||||
if(!emp)
|
||||
var/datum/robot_component/armour/A = get_armour()
|
||||
if(A)
|
||||
A.take_damage(brute,burn,sharp,edge)
|
||||
return
|
||||
|
||||
var/datum/robot_component/C = pick(components)
|
||||
C.take_damage(brute,burn,sharp,edge)
|
||||
|
||||
@@ -49,10 +49,10 @@
|
||||
/mob/living/silicon/emp_act(severity)
|
||||
switch(severity)
|
||||
if(1)
|
||||
src.take_organ_damage(20)
|
||||
src.take_organ_damage(0,20,emp=1)
|
||||
Stun(rand(5,10))
|
||||
if(2)
|
||||
src.take_organ_damage(10)
|
||||
src.take_organ_damage(0,10,emp=1)
|
||||
Stun(rand(1,5))
|
||||
flick("noise", src:flash)
|
||||
src << "\red <B>*BZZZT*</B>"
|
||||
|
||||
@@ -128,6 +128,11 @@
|
||||
rigged = 1 //broken batterys are dangerous
|
||||
|
||||
/obj/item/weapon/cell/emp_act(severity)
|
||||
//remove this once emp changes on dev are merged in
|
||||
if(isrobot(loc))
|
||||
var/mob/living/silicon/robot/R = loc
|
||||
severity *= R.cell_emp_mult
|
||||
|
||||
charge -= maxcharge / severity
|
||||
if (charge < 0)
|
||||
charge = 0
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
icon_state = "T38"
|
||||
caliber = "357"
|
||||
ammo_type = /obj/item/ammo_casing/a357
|
||||
matter = list("metal" = 1260)
|
||||
max_ammo = 7
|
||||
multiple_sprites = 1
|
||||
|
||||
@@ -13,6 +14,7 @@
|
||||
name = "speed loader (.38)"
|
||||
icon_state = "38"
|
||||
caliber = "38"
|
||||
matter = list("metal" = 360)
|
||||
ammo_type = /obj/item/ammo_casing/c38
|
||||
max_ammo = 6
|
||||
multiple_sprites = 1
|
||||
@@ -26,6 +28,7 @@
|
||||
icon_state = "45"
|
||||
mag_type = MAGAZINE
|
||||
ammo_type = /obj/item/ammo_casing/c45
|
||||
matter = list("metal" = 525) //metal costs are very roughly based around 1 .45 casing = 75 metal
|
||||
caliber = ".45"
|
||||
max_ammo = 7
|
||||
multiple_sprites = 1
|
||||
@@ -46,6 +49,7 @@
|
||||
icon_state = "9x19p"
|
||||
origin_tech = "combat=2"
|
||||
mag_type = MAGAZINE
|
||||
matter = list("metal" = 600)
|
||||
caliber = "9mm"
|
||||
ammo_type = /obj/item/ammo_casing/c9mm
|
||||
max_ammo = 10
|
||||
@@ -61,6 +65,7 @@
|
||||
name = "ammunition Box (9mm)"
|
||||
icon_state = "9mm"
|
||||
origin_tech = "combat=2"
|
||||
matter = list("metal" = 1800)
|
||||
caliber = "9mm"
|
||||
ammo_type = /obj/item/ammo_casing/c9mm
|
||||
max_ammo = 30
|
||||
@@ -73,6 +78,7 @@
|
||||
icon_state = "9mmt"
|
||||
mag_type = MAGAZINE
|
||||
ammo_type = /obj/item/ammo_casing/c9mm
|
||||
matter = list("metal" = 1200)
|
||||
caliber = "9mm"
|
||||
max_ammo = 20
|
||||
multiple_sprites = 1
|
||||
@@ -89,6 +95,7 @@
|
||||
icon_state = "9mm"
|
||||
origin_tech = "combat=2"
|
||||
caliber = ".45"
|
||||
matter = list("metal" = 2250)
|
||||
ammo_type = /obj/item/ammo_casing/c45
|
||||
max_ammo = 30
|
||||
|
||||
@@ -101,6 +108,7 @@
|
||||
origin_tech = "combat=2"
|
||||
mag_type = MAGAZINE
|
||||
caliber = "12mm"
|
||||
matter = list("metal" = 1500)
|
||||
ammo_type = "/obj/item/ammo_casing/a12mm"
|
||||
max_ammo = 20
|
||||
multiple_sprites = 1
|
||||
@@ -114,6 +122,7 @@
|
||||
origin_tech = "combat=2"
|
||||
mag_type = MAGAZINE
|
||||
caliber = "a556"
|
||||
matter = list("metal" = 1800)
|
||||
ammo_type = /obj/item/ammo_casing/a556
|
||||
max_ammo = 10
|
||||
multiple_sprites = 1
|
||||
@@ -127,6 +136,7 @@
|
||||
origin_tech = "combat=2"
|
||||
mag_type = MAGAZINE
|
||||
caliber = ".50"
|
||||
matter = list("metal" = 1260)
|
||||
ammo_type = /obj/item/ammo_casing/a50
|
||||
max_ammo = 7
|
||||
multiple_sprites = 1
|
||||
@@ -152,6 +162,7 @@
|
||||
origin_tech = "combat=2"
|
||||
mag_type = MAGAZINE
|
||||
caliber = "a762"
|
||||
matter = list("metal" = 4500)
|
||||
ammo_type = /obj/item/ammo_casing/a762
|
||||
max_ammo = 50
|
||||
multiple_sprites = 1
|
||||
@@ -164,6 +175,7 @@
|
||||
icon_state = "c762"
|
||||
mag_type = MAGAZINE
|
||||
caliber = "a762"
|
||||
matter = list("metal" = 1800)
|
||||
ammo_type = /obj/item/ammo_casing/a762
|
||||
max_ammo = 20
|
||||
multiple_sprites = 1
|
||||
|
||||
@@ -66,28 +66,28 @@
|
||||
icon_state = "slshell"
|
||||
caliber = "shotgun"
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun
|
||||
matter = list("metal" = 12500)
|
||||
matter = list("metal" = 360)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/pellet
|
||||
name = "shotgun shell"
|
||||
desc = "A 12 gauge shell."
|
||||
icon_state = "gshell"
|
||||
projectile_type = /obj/item/projectile/bullet/pellet/shotgun
|
||||
matter = list("metal" = 12500)
|
||||
matter = list("metal" = 360)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/blank
|
||||
name = "shotgun shell"
|
||||
desc = "A blank shell."
|
||||
icon_state = "blshell"
|
||||
projectile_type = /obj/item/projectile/bullet/blank
|
||||
matter = list("metal" = 250)
|
||||
matter = list("metal" = 90)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/beanbag
|
||||
name = "beanbag shell"
|
||||
desc = "A beanbag shell."
|
||||
icon_state = "bshell"
|
||||
projectile_type = /obj/item/projectile/bullet/shotgun/beanbag
|
||||
matter = list("metal" = 500)
|
||||
matter = list("metal" = 180)
|
||||
|
||||
//Can stun in one hit if aimed at the head, but
|
||||
//is blocked by clothing that stops tasers and is vulnerable to EMP
|
||||
@@ -97,7 +97,7 @@
|
||||
icon_state = "stunshell"
|
||||
spent_icon = "stunshell-spent"
|
||||
projectile_type = /obj/item/projectile/energy/electrode/stunshot
|
||||
matter = list("metal" = 1250, "glass" = 1250)
|
||||
matter = list("metal" = 360, "glass" = 720)
|
||||
|
||||
/obj/item/ammo_casing/shotgun/stunshell/emp_act(severity)
|
||||
if(prob(100/severity)) BB = null
|
||||
@@ -109,7 +109,7 @@
|
||||
desc = "A chemical shell used to signal distress or provide illumination."
|
||||
icon_state = "fshell"
|
||||
projectile_type = /obj/item/projectile/energy/flash/flare
|
||||
matter = list("metal" = 250, "glass" = 250)
|
||||
matter = list("metal" = 90, "glass" = 90)
|
||||
|
||||
/obj/item/ammo_casing/a762
|
||||
desc = "A 7.62mm bullet casing."
|
||||
@@ -123,6 +123,7 @@
|
||||
spent_icon = "lcasing-spent"
|
||||
caliber = "14.5mm"
|
||||
projectile_type = /obj/item/projectile/bullet/rifle/a145
|
||||
matter = list("metal" = 1250)
|
||||
|
||||
/obj/item/ammo_casing/a556
|
||||
desc = "A 5.56mm bullet casing."
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/item/weapon/gun/projectile/heavysniper
|
||||
name = "\improper PTRS-7 rifle"
|
||||
name = "\improper PTR-7 rifle"
|
||||
desc = "A portable anti-armour rifle fitted with a scope. Originally designed to used against armoured exosuits, it is capable of punching through windows and non-reinforced walls with ease. Fires armor piercing 14.5mm shells."
|
||||
icon_state = "heavysniper"
|
||||
item_state = "l6closednomag" //placeholder
|
||||
|
||||
@@ -3018,14 +3018,15 @@
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/tastybread
|
||||
name = "Bread Tube"
|
||||
desc = "Chewy...and surprisingly tasty."
|
||||
name = "bread tube"
|
||||
desc = "Bread in a tube. Chewy...and surprisingly tasty."
|
||||
icon_state = "tastybread"
|
||||
trash = /obj/item/trash/tastybread
|
||||
filling_color = "#A66829"
|
||||
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 12)
|
||||
reagents.add_reagent("nutriment", 6)
|
||||
bitesize = 2
|
||||
|
||||
/obj/item/weapon/reagent_containers/food/snacks/skrellsnacks
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 8.8 KiB |
+550
-548
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user