mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-26 14:47:50 +01:00
First merge from upstream
This commit is contained in:
@@ -33,7 +33,8 @@
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering,
|
||||
/obj/item/clothing/shoes/boots/winter/engineering,
|
||||
/obj/item/weapon/tank/emergency/oxygen/engi,
|
||||
/obj/item/weapon/reagent_containers/spray/windowsealant) //VOREStation Add
|
||||
/obj/item/weapon/reagent_containers/spray/windowsealant, //VOREStation Add,
|
||||
/obj/item/weapon/pipe_dispenser) //YW Add
|
||||
|
||||
/obj/structure/closet/secure_closet/engineering_chief/Initialize()
|
||||
if(prob(50))
|
||||
@@ -138,7 +139,8 @@
|
||||
/obj/item/taperoll/atmos,
|
||||
/obj/item/clothing/suit/storage/hooded/wintercoat/engineering/atmos,
|
||||
/obj/item/clothing/shoes/boots/winter/atmos,
|
||||
/obj/item/weapon/tank/emergency/oxygen/engi)
|
||||
/obj/item/weapon/tank/emergency/oxygen/engi,
|
||||
/obj/item/weapon/pipe_dispenser) //YW Addition
|
||||
|
||||
/obj/structure/closet/secure_closet/atmos_personal/Initialize()
|
||||
if(prob(50))
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
|
||||
/obj/structure/closet/secure_closet/freezer/kitchen
|
||||
name = "kitchen cabinet"
|
||||
req_access = list(access_kitchen)
|
||||
req_access = list()
|
||||
|
||||
starts_with = list(
|
||||
/obj/item/weapon/reagent_containers/food/condiment/flour = 7,
|
||||
|
||||
@@ -28,3 +28,23 @@
|
||||
else
|
||||
starts_with += /obj/item/clothing/suit/storage/apron/overalls
|
||||
return ..()
|
||||
|
||||
/obj/structure/closet/secure_closet/hydroponics/sci
|
||||
name = "xenoflorist's locker"
|
||||
req_access = list(access_xenobiology)
|
||||
icon_state = "scihydrosecure1"
|
||||
icon_closed = "scihydrosecure"
|
||||
icon_locked = "scihydrosecure1"
|
||||
icon_opened = "scihydrosecureopen"
|
||||
icon_broken = "scihydrosecurebroken"
|
||||
icon_off = "scihydrosecureoff"
|
||||
|
||||
/obj/structure/closet/secure_closet/hydroponics/sci/Initialize()
|
||||
starts_with += /obj/item/clothing/head/bio_hood/scientist
|
||||
starts_with += /obj/item/clothing/suit/bio_suit/scientist
|
||||
starts_with += /obj/item/clothing/mask/gas // VOREStation Edit: Gasmasks we use are different
|
||||
|
||||
if(prob(1))
|
||||
starts_with += /obj/item/weapon/chainsaw
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -49,6 +49,10 @@
|
||||
if(alert(user, "Are you sure you want to touch \the [src]?", "Confirm", "No", "Yes") == "No")
|
||||
return
|
||||
trigger()
|
||||
// VOREStation Addition Start
|
||||
if(!used)
|
||||
activated = TRUE
|
||||
// VOREStation Addition End
|
||||
|
||||
/obj/structure/ghost_pod/manual/attack_ai(var/mob/living/silicon/user)
|
||||
if(Adjacent(user))
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/obj/structure/ghost_pod/manual
|
||||
var/remains_active = FALSE
|
||||
var/activated = FALSE
|
||||
|
||||
/obj/structure/ghost_pod/manual/attack_ghost(var/mob/observer/dead/user)
|
||||
if(!remains_active || busy)
|
||||
return
|
||||
|
||||
if(!activated)
|
||||
to_chat(user, "<span class='warning'>\the [src] has not yet been activated. Sorry.</span>")
|
||||
return
|
||||
|
||||
if(used)
|
||||
to_chat(user, "<span class='warning'>Another spirit appears to have gotten to \the [src] before you. Sorry.</span>")
|
||||
return
|
||||
|
||||
busy = TRUE
|
||||
var/choice = input(user, "Are you certain you wish to activate this pod?", "Control Pod") as null|anything in list("Yes", "No")
|
||||
|
||||
if(!choice || choice == "No")
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
else if(used)
|
||||
to_chat(user, "<span class='warning'>Another spirit appears to have gotten to \the [src] before you. Sorry.</span>")
|
||||
busy = FALSE
|
||||
return
|
||||
|
||||
busy = FALSE
|
||||
|
||||
create_occupant(user)
|
||||
@@ -1,7 +1,8 @@
|
||||
/obj/structure/ghost_pod/manual/lost_drone/dogborg
|
||||
remains_active = TRUE
|
||||
|
||||
/obj/structure/ghost_pod/manual/lost_drone/dogborg/create_occupant(var/mob/M)
|
||||
var/response = alert(M, "What type of lost drone are you? Do note, that dogborgs may have experienced different type of corruption ((Potential for having vore-related laws))", "Drone Type", "Regular", "Dogborg")
|
||||
var/response = alert(M, "What type of lost drone are you? Do note, that dogborgs may have experienced different type of corruption ((High potential for having vore-related laws))", "Drone Type", "Regular", "Dogborg")
|
||||
if(!(response == "Dogborg")) // No response somehow or Regular
|
||||
return ..()
|
||||
else
|
||||
|
||||
@@ -680,7 +680,7 @@ Loot piles can be depleted, if loot_depleted is turned on. Note that players wh
|
||||
)
|
||||
|
||||
uncommon_loot = list(
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/safety_clamp,
|
||||
/obj/item/mecha_parts/mecha_equipment/tool/hydraulic_clamp/safety,
|
||||
/obj/item/mecha_parts/mecha_equipment/weapon/energy/riggedlaser,
|
||||
/obj/item/mecha_parts/mecha_equipment/repair_droid,
|
||||
/obj/item/mecha_parts/mecha_equipment/tesla_energy_relay
|
||||
|
||||
@@ -134,7 +134,7 @@
|
||||
spawn(1)
|
||||
var/newname = sanitizeSafe(input(vox,"Enter a name, or leave blank for the default name.", "Name change","") as text, MAX_NAME_LEN)
|
||||
if(!newname || newname == "")
|
||||
var/datum/language/L = all_languages[vox.species.default_language]
|
||||
var/datum/language/L = GLOB.all_languages[vox.species.default_language]
|
||||
newname = L.get_random_name()
|
||||
vox.real_name = newname
|
||||
vox.name = vox.real_name
|
||||
|
||||
@@ -115,12 +115,12 @@
|
||||
if(!playing || shouldStopPlaying(user))//If the instrument is playing, or special case
|
||||
playing = 0
|
||||
return
|
||||
if(lentext(note) == 0)
|
||||
if(length(note) == 0)
|
||||
continue
|
||||
var/cur_note = text2ascii(note) - 96
|
||||
if(cur_note < 1 || cur_note > 7)
|
||||
continue
|
||||
for(var/i=2 to lentext(note))
|
||||
for(var/i=2 to length(note))
|
||||
var/ni = copytext(note,i,i+1)
|
||||
if(!text2num(ni))
|
||||
if(ni == "#" || ni == "b" || ni == "n")
|
||||
@@ -208,11 +208,11 @@
|
||||
t = html_encode(input(usr, "Please paste the entire song, formatted:", text("[]", name), t) as message)
|
||||
if(!in_range(instrumentObj, usr))
|
||||
return
|
||||
if(lentext(t) >= INSTRUMENT_MAX_LINE_LENGTH*INSTRUMENT_MAX_LINE_NUMBER)
|
||||
if(length(t) >= INSTRUMENT_MAX_LINE_LENGTH*INSTRUMENT_MAX_LINE_NUMBER)
|
||||
var/cont = input(usr, "Your message is too long! Would you like to continue editing it?", "", "yes") in list("yes", "no")
|
||||
if(cont == "no")
|
||||
break
|
||||
while(lentext(t) > INSTRUMENT_MAX_LINE_LENGTH*INSTRUMENT_MAX_LINE_NUMBER)
|
||||
while(length(t) > INSTRUMENT_MAX_LINE_LENGTH*INSTRUMENT_MAX_LINE_NUMBER)
|
||||
//split into lines
|
||||
spawn()
|
||||
lines = splittext(t, "\n")
|
||||
@@ -226,7 +226,7 @@
|
||||
lines.Cut(INSTRUMENT_MAX_LINE_NUMBER+1)
|
||||
var/linenum = 1
|
||||
for(var/l in lines)
|
||||
if(lentext(l) > INSTRUMENT_MAX_LINE_LENGTH)
|
||||
if(length(l) > INSTRUMENT_MAX_LINE_LENGTH)
|
||||
to_chat(usr, "Line [linenum] too long!")
|
||||
lines.Remove(l)
|
||||
else
|
||||
@@ -256,7 +256,7 @@
|
||||
return
|
||||
if(lines.len > INSTRUMENT_MAX_LINE_NUMBER)
|
||||
return
|
||||
if(lentext(newline) > INSTRUMENT_MAX_LINE_LENGTH)
|
||||
if(length(newline) > INSTRUMENT_MAX_LINE_LENGTH)
|
||||
newline = copytext(newline, 1, INSTRUMENT_MAX_LINE_LENGTH)
|
||||
lines.Add(newline)
|
||||
else if(href_list["deleteline"])
|
||||
@@ -269,7 +269,7 @@
|
||||
var/content = html_encode(input("Enter your line: ", instrumentObj.name, lines[num]) as text|null)
|
||||
if(!content || !in_range(instrumentObj, usr))
|
||||
return
|
||||
if(lentext(content) > INSTRUMENT_MAX_LINE_LENGTH)
|
||||
if(length(content) > INSTRUMENT_MAX_LINE_LENGTH)
|
||||
content = copytext(content, 1, INSTRUMENT_MAX_LINE_LENGTH)
|
||||
if(num > lines.len || num < 1)
|
||||
return
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
active_beams |= Beam(S,icon='icons/effects/beam.dmi',icon_state="holo_beam",time=3 SECONDS,maxdistance=3,beam_type = /obj/effect/ebeam,beam_sleep_time=2)
|
||||
|
||||
if(S.cell)
|
||||
S.cell.give(rand(5, 30))
|
||||
S.cell.give(rand(30, 120))
|
||||
|
||||
. = TRUE
|
||||
|
||||
|
||||
@@ -213,7 +213,8 @@
|
||||
prob(1);/obj/item/weapon/spacecash/c100,
|
||||
prob(1);/obj/item/weapon/spacecash/c50,
|
||||
prob(1);/obj/item/weapon/storage/backpack/dufflebag/syndie,
|
||||
prob(1);/obj/item/weapon/storage/box/cups)
|
||||
prob(1);/obj/item/weapon/storage/box/cups,
|
||||
prob(1);/obj/item/pizzavoucher)
|
||||
|
||||
var/obj/item/I = new path()
|
||||
return I
|
||||
@@ -222,6 +223,7 @@
|
||||
var/path = pick(prob(6);/obj/item/weapon/storage/pill_bottle/tramadol,
|
||||
prob(4);/obj/item/weapon/storage/pill_bottle/happy,
|
||||
prob(4);/obj/item/weapon/storage/pill_bottle/zoom,
|
||||
prob(4);/obj/item/seeds/ambrosiavulgarisseed,
|
||||
prob(4);/obj/item/weapon/gun/energy/sizegun,
|
||||
prob(3);/obj/item/weapon/material/butterfly,
|
||||
prob(3);/obj/item/weapon/material/butterfly/switchblade,
|
||||
@@ -243,7 +245,8 @@
|
||||
prob(1);/obj/item/weapon/material/knife/tacknife,
|
||||
prob(1);/obj/item/weapon/storage/box/survival/space,
|
||||
prob(1);/obj/item/weapon/storage/secure/briefcase/trashmoney,
|
||||
prob(1);/obj/item/weapon/reagent_containers/syringe/steroid)
|
||||
prob(1);/obj/item/weapon/reagent_containers/syringe/steroid,
|
||||
prob(1);/obj/item/seeds/gnomes)
|
||||
|
||||
var/obj/item/I = new path()
|
||||
return I
|
||||
|
||||
Reference in New Issue
Block a user