mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-10 09:54:52 +00:00
Merge remote-tracking branch 'upstream/master' into TGUIs_Nexties
This commit is contained in:
@@ -149,9 +149,9 @@
|
||||
|
||||
//OPEN TURF ATMOS
|
||||
#define OPENTURF_DEFAULT_ATMOS "o2=22;n2=82;TEMP=293.15" //the default air mix that open turfs spawn
|
||||
#define TCOMMS_ATMOS "n2=100;TEMP=80" //-193,15°C telecommunications. also used for xenobiology slime killrooms
|
||||
#define TCOMMS_ATMOS "n2=100;TEMP=80" //-193,15degC telecommunications. also used for xenobiology slime killrooms
|
||||
#define AIRLESS_ATMOS "TEMP=2.7" //space
|
||||
#define FROZEN_ATMOS "o2=22;n2=82;TEMP=180" //-93.15°C snow and ice turfs
|
||||
#define FROZEN_ATMOS "o2=22;n2=82;TEMP=180" //-93.15degC snow and ice turfs
|
||||
#define BURNMIX_ATMOS "o2=2500;plasma=5000;TEMP=370" //used in the holodeck burn test program
|
||||
|
||||
//ATMOSPHERICS DEPARTMENT GAS TANK TURFS
|
||||
|
||||
@@ -312,23 +312,26 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
attack_verb = list("stubbed", "poked")
|
||||
resistance_flags = FIRE_PROOF
|
||||
var/extended = 0
|
||||
var/extended_force = 20
|
||||
var/extended_throwforce = 23
|
||||
var/extended_icon_state = "switchblade_ext"
|
||||
|
||||
/obj/item/switchblade/attack_self(mob/user)
|
||||
extended = !extended
|
||||
playsound(src.loc, 'sound/weapons/batonextend.ogg', 50, 1)
|
||||
if(extended)
|
||||
force = 20
|
||||
force = extended_force
|
||||
w_class = WEIGHT_CLASS_NORMAL
|
||||
throwforce = 23
|
||||
icon_state = "switchblade_ext"
|
||||
throwforce = extended_throwforce
|
||||
icon_state = extended_icon_state
|
||||
attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut")
|
||||
hitsound = 'sound/weapons/bladeslice.ogg'
|
||||
sharpness = IS_SHARP
|
||||
else
|
||||
force = 3
|
||||
force = initial(force)
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
throwforce = 5
|
||||
icon_state = "switchblade"
|
||||
throwforce = initial(throwforce)
|
||||
icon_state = initial(icon_state)
|
||||
attack_verb = list("stubbed", "poked")
|
||||
hitsound = 'sound/weapons/genhit.ogg'
|
||||
sharpness = IS_BLUNT
|
||||
@@ -337,6 +340,23 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301
|
||||
user.visible_message("<span class='suicide'>[user] is slitting [user.p_their()] own throat with [src]! It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
return (BRUTELOSS)
|
||||
|
||||
/obj/item/switchblade/crafted
|
||||
icon_state = "switchblade_ms"
|
||||
desc = "A concealable spring-loaded knife."
|
||||
force = 2
|
||||
throwforce = 3
|
||||
extended_force = 15
|
||||
extended_throwforce = 18
|
||||
extended_icon_state = "switchblade_ext_ms"
|
||||
|
||||
/obj/item/switchblade/crafted/attackby(obj/item/I, mob/user, params)
|
||||
. = ..()
|
||||
if(istype(I, /obj/item/stack/sheet/mineral/silver))
|
||||
icon_state = extended ? "switchblade_ext_msf" : "switchblade_msf"
|
||||
extended_icon_state = "switchblade_ext_msf"
|
||||
icon_state = "switchblade_msf"
|
||||
to_chat(user, "<span class='notice'>You use part of the silver to improve your Switchblade. Stylish!</span>")
|
||||
|
||||
/obj/item/phone
|
||||
name = "red phone"
|
||||
desc = "Should anything ever go wrong..."
|
||||
|
||||
@@ -479,22 +479,10 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name))
|
||||
be_random_body = sanitize_integer(be_random_body, 0, 1, initial(be_random_body))
|
||||
|
||||
if(gender == MALE)
|
||||
hair_style = sanitize_inlist(hair_style, GLOB.hair_styles_male_list)
|
||||
facial_hair_style = sanitize_inlist(facial_hair_style, GLOB.facial_hair_styles_male_list)
|
||||
undershirt = sanitize_inlist(undershirt, GLOB.undershirt_m)
|
||||
underwear = sanitize_inlist(underwear, GLOB.underwear_m)
|
||||
else if(gender == FEMALE)
|
||||
hair_style = sanitize_inlist(hair_style, GLOB.hair_styles_female_list)
|
||||
facial_hair_style = sanitize_inlist(facial_hair_style, GLOB.facial_hair_styles_female_list)
|
||||
undershirt = sanitize_inlist(undershirt, GLOB.undershirt_f)
|
||||
underwear = sanitize_inlist(underwear, GLOB.underwear_f)
|
||||
else
|
||||
hair_style = sanitize_inlist(hair_style, GLOB.hair_styles_list)
|
||||
facial_hair_style = sanitize_inlist(facial_hair_style, GLOB.facial_hair_styles_list)
|
||||
underwear = sanitize_inlist(underwear, GLOB.underwear_list)
|
||||
undershirt = sanitize_inlist(undershirt, GLOB.undershirt_list)
|
||||
|
||||
undie_color = sanitize_hexcolor(undie_color, 3, FALSE, initial(undie_color))
|
||||
shirt_color = sanitize_hexcolor(shirt_color, 3, FALSE, initial(shirt_color))
|
||||
socks = sanitize_inlist(socks, GLOB.socks_list)
|
||||
|
||||
@@ -109,6 +109,18 @@
|
||||
category = CAT_WEAPONRY
|
||||
subcategory = CAT_WEAPON
|
||||
|
||||
/datum/crafting_recipe/switchblade_ms
|
||||
name = "Switchblade"
|
||||
result = /obj/item/switchblade/crafted
|
||||
reqs = list(/obj/item/weaponcrafting/stock = 1,
|
||||
/obj/item/weaponcrafting/receiver = 1,
|
||||
/obj/item/kitchen/knife = 1,
|
||||
/obj/item/stack/cable_coil = 2)
|
||||
tools = list(TOOL_WELDER)
|
||||
time = 45
|
||||
category = CAT_WEAPONRY
|
||||
subcategory = CAT_WEAPON
|
||||
|
||||
//////////////////
|
||||
///BOMB CRAFTING//
|
||||
//////////////////
|
||||
|
||||
@@ -200,25 +200,25 @@
|
||||
message_param = "blows a kiss to %t."
|
||||
emote_type = EMOTE_AUDIBLE
|
||||
|
||||
/datum/emote/living/laugh
|
||||
/datum/emote/living/audio_emote
|
||||
emote_type = EMOTE_AUDIBLE
|
||||
|
||||
/datum/emote/living/audio_emote/can_run_emote(mob/living/user, status_check = TRUE)
|
||||
. = ..()
|
||||
if(. && iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
return !C.silent && (!C.mind || !C.mind.miming)
|
||||
|
||||
/datum/emote/living/audio_emote/laugh
|
||||
key = "laugh"
|
||||
key_third_person = "laughs"
|
||||
message = "laughs."
|
||||
message_mime = "laughs silently!"
|
||||
emote_type = EMOTE_AUDIBLE
|
||||
|
||||
/datum/emote/living/laugh/can_run_emote(mob/living/user, status_check = TRUE)
|
||||
. = ..()
|
||||
if(. && iscarbon(user))
|
||||
var/mob/living/carbon/C = user
|
||||
return !C.silent
|
||||
|
||||
/datum/emote/living/laugh/run_emote(mob/user, params)
|
||||
/datum/emote/living/audio_emote/laugh/run_emote(mob/user, params)
|
||||
. = ..()
|
||||
if(. && iscarbon(user)) //Citadel Edit because this is hilarious
|
||||
var/mob/living/carbon/C = user
|
||||
if(!C.mind || C.mind.miming)
|
||||
return
|
||||
if(iscatperson(C)) //we ask for is cat first because they're a subtype that tests true for ishumanbasic because HERESY
|
||||
playsound(C, pick('sound/voice/catpeople/nyahaha1.ogg',
|
||||
'sound/voice/catpeople/nyahaha2.ogg',
|
||||
@@ -226,12 +226,27 @@
|
||||
'sound/voice/catpeople/nyahehe.ogg'),
|
||||
50, 1)
|
||||
return
|
||||
if(ishumanbasic(C))
|
||||
else if(ismoth(C))
|
||||
playsound(C, 'sound/voice/moth/mothlaugh.ogg', 50, 1)
|
||||
else if(ishumanbasic(C))
|
||||
if(user.gender == FEMALE)
|
||||
playsound(C, 'sound/voice/human/womanlaugh.ogg', 50, 1)
|
||||
else
|
||||
playsound(C, pick('sound/voice/human/manlaugh1.ogg', 'sound/voice/human/manlaugh2.ogg'), 50, 1)
|
||||
|
||||
/datum/emote/living/audio_emote/chitter
|
||||
key = "chitter"
|
||||
key_third_person = "chitters"
|
||||
message = "chitters."
|
||||
message_mime = "chitters silently!"
|
||||
|
||||
/datum/emote/living/audio_emote/chitter/run_emote(mob/user, params)
|
||||
. = ..()
|
||||
if(. && iscarbon(user)) //Citadel Edit because this is hilarious
|
||||
var/mob/living/carbon/C = user
|
||||
if(ismoth(C))
|
||||
playsound(C, 'sound/voice/moth/mothchitter.ogg', 50, 1)
|
||||
|
||||
/datum/emote/living/look
|
||||
key = "look"
|
||||
key_third_person = "looks"
|
||||
|
||||
@@ -22,6 +22,11 @@
|
||||
var/list/fired = list()
|
||||
var/countdown_length = 10
|
||||
var/countdown_step = 0
|
||||
var/static/next_id = 1
|
||||
var/id
|
||||
|
||||
/datum/duel/New()
|
||||
id = next_id++
|
||||
|
||||
/datum/duel/proc/try_begin()
|
||||
//Check if both guns are held and if so begin.
|
||||
@@ -157,6 +162,13 @@
|
||||
setting_overlay = mutable_appearance(icon,setting_iconstate())
|
||||
add_overlay(setting_overlay)
|
||||
|
||||
/obj/item/gun/energy/dueling/examine(mob/user)
|
||||
. = ..()
|
||||
if(duel)
|
||||
. += "Its linking number is [duel.id]."
|
||||
else
|
||||
. += "ERROR: No linking number on gun."
|
||||
|
||||
/obj/item/gun/energy/dueling/proc/setting_iconstate()
|
||||
switch(setting)
|
||||
if(DUEL_SETTING_A)
|
||||
@@ -370,6 +382,8 @@
|
||||
|
||||
/obj/item/storage/lockbox/dueling/hugbox
|
||||
gun_type = /obj/item/gun/energy/dueling/hugbox
|
||||
req_access = list(ACCESS_ARMORY)
|
||||
|
||||
/obj/item/storage/lockbox/dueling/hugbox/stamina
|
||||
gun_type = /obj/item/gun/energy/dueling/hugbox/stamina
|
||||
req_access = null
|
||||
|
||||
4
html/changelogs/AutoChangeLog-pr-10644.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-10644.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "ShadeAware"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "Craftable Switchblades, a weaker subtype of normal switchblades that can be crafted using a Kitchen Knife, Modular Receiver, Rifle Stock and some Cable Coil. Requires a welder to complete."
|
||||
4
html/changelogs/AutoChangeLog-pr-10768.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-10768.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "kevinz000"
|
||||
delete-after: True
|
||||
changes:
|
||||
- rscadd: "moths now have unique laughs and can *chitter."
|
||||
4
html/changelogs/AutoChangeLog-pr-10782.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-10782.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "kevinz000"
|
||||
delete-after: True
|
||||
changes:
|
||||
- tweak: "dueling pistol accesses have been changed to be more accessible."
|
||||
4
html/changelogs/AutoChangeLog-pr-10790.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-10790.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "Ghommie"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Hair styles and undergarments are yet again free from gender restrictions."
|
||||
4
html/changelogs/AutoChangeLog-pr-10795.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-10795.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "ShadeAware"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "You can now actually craft Switchblades."
|
||||
4
html/changelogs/AutoChangeLog-pr-10809.yml
Normal file
4
html/changelogs/AutoChangeLog-pr-10809.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
author: "Arturlang"
|
||||
delete-after: True
|
||||
changes:
|
||||
- bugfix: "Fancifying makeshift switchblades now works"
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
BIN
sound/voice/moth/mothchitter.ogg
Normal file
BIN
sound/voice/moth/mothchitter.ogg
Normal file
Binary file not shown.
BIN
sound/voice/moth/mothlaugh.ogg
Normal file
BIN
sound/voice/moth/mothlaugh.ogg
Normal file
Binary file not shown.
Reference in New Issue
Block a user