Merge remote-tracking branch 'upstream/master'
This commit is contained in:
@@ -12,6 +12,7 @@
|
||||
#include "map_files\PubbyStation\PubbyStation.dmm"
|
||||
#include "map_files\BoxStation\BoxStation.dmm"
|
||||
#include "map_files\LambdaStation\lambda.dmm"
|
||||
#include "map_files\SpookyStation\SpookyStation.dmm"
|
||||
|
||||
#ifdef CIBUILDING
|
||||
#include "templates.dm"
|
||||
|
||||
@@ -5625,7 +5625,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/brig)
|
||||
@@ -61634,7 +61633,6 @@
|
||||
/area/security/prison/upper)
|
||||
"qtw" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
dir = 2;
|
||||
name = "Port Docking Bay 4"
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
|
||||
@@ -365,13 +365,6 @@
|
||||
/obj/machinery/door/firedoor,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/primary/central)
|
||||
"aQ" = (
|
||||
/obj/machinery/door/airlock/hatch{
|
||||
name = "Telecomms Control Room";
|
||||
req_one_access_txt = "19; 61"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"aR" = (
|
||||
/obj/item/electropack/shockcollar,
|
||||
/obj/item/assembly/signaler,
|
||||
@@ -3201,6 +3194,12 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/service/hydroponics/garden/monastery)
|
||||
"iA" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"iC" = (
|
||||
/obj/effect/turf_decal/tile/neutral{
|
||||
dir = 1
|
||||
@@ -5602,6 +5601,12 @@
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/solars/starboard)
|
||||
"ox" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/space/nearstation)
|
||||
"oy" = (
|
||||
/obj/structure/railing{
|
||||
dir = 4;
|
||||
@@ -7714,12 +7719,6 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3,
|
||||
/turf/open/floor/carpet/blue,
|
||||
/area/commons/vacant_room/office)
|
||||
"tS" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/tcommsat/chamber)
|
||||
"tT" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "1-2"
|
||||
@@ -14697,6 +14696,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/commons/fitness/recreation)
|
||||
"LG" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "2-4"
|
||||
},
|
||||
/turf/open/floor/plating/airless,
|
||||
/area/space/nearstation)
|
||||
"LH" = (
|
||||
/obj/structure/cable{
|
||||
icon_state = "4-8"
|
||||
@@ -37240,11 +37248,11 @@ lQ
|
||||
Yv
|
||||
Yv
|
||||
Yv
|
||||
dh
|
||||
Yv
|
||||
Yv
|
||||
aQ
|
||||
tS
|
||||
LG
|
||||
ox
|
||||
ox
|
||||
kF
|
||||
iA
|
||||
kF
|
||||
Gq
|
||||
LC
|
||||
|
||||
@@ -13476,24 +13476,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/ai_monitored/security/armory)
|
||||
"ayl" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/storage/secure/briefcase{
|
||||
pixel_x = -2
|
||||
},
|
||||
/obj/item/book/manual/wiki/security_space_law,
|
||||
/obj/item/cartridge/detective,
|
||||
/obj/machinery/power/apc{
|
||||
areastring = "/area/command/heads_quarters/hos";
|
||||
dir = 1;
|
||||
name = "Head of Security's Office APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"aym" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
@@ -14825,15 +14807,6 @@
|
||||
/obj/effect/turf_decal/bot,
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"aAy" = (
|
||||
/obj/machinery/computer/prisoner{
|
||||
dir = 8
|
||||
},
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 4
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"aAz" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable,
|
||||
@@ -34520,13 +34493,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"bpO" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"bpP" = (
|
||||
/obj/structure/lattice/catwalk,
|
||||
/obj/item/wrench,
|
||||
@@ -49053,18 +49019,6 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engineering/main)
|
||||
"cgv" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
areastring = "/area/engineering/main";
|
||||
dir = 1;
|
||||
name = "Engine Room APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engineering/main)
|
||||
"cgw" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
@@ -63058,6 +63012,37 @@
|
||||
/obj/effect/landmark/start/prisoner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/security/prison)
|
||||
"cZR" = (
|
||||
/obj/effect/spawner/structure/window/reinforced,
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-4"
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plating,
|
||||
/area/hallway/secondary/exit/departure_lounge)
|
||||
"dbH" = (
|
||||
/obj/structure/table/wood,
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 1
|
||||
},
|
||||
/obj/item/storage/secure/briefcase{
|
||||
pixel_x = -2
|
||||
},
|
||||
/obj/item/book/manual/wiki/security_space_law,
|
||||
/obj/item/cartridge/detective,
|
||||
/obj/machinery/power/apc{
|
||||
areastring = "/area/command/heads_quarters/hos";
|
||||
dir = 1;
|
||||
name = "Head of Security's Office APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"dcB" = (
|
||||
/obj/effect/turf_decal/trimline/neutral/filled/line{
|
||||
dir = 4
|
||||
@@ -64982,6 +64967,21 @@
|
||||
/obj/structure/stairs/south,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/maintenance/department/cargo)
|
||||
"gci" = (
|
||||
/obj/effect/turf_decal/stripes/line{
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/apc/highcap/fifteen_k{
|
||||
areastring = "/area/engineering/main";
|
||||
dir = 1;
|
||||
name = "Engine Room APC";
|
||||
pixel_y = 23
|
||||
},
|
||||
/obj/structure/cable{
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/engineering/main)
|
||||
"gcM" = (
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 8
|
||||
@@ -66100,6 +66100,15 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"igd" = (
|
||||
/obj/effect/turf_decal/tile/red{
|
||||
dir = 4
|
||||
},
|
||||
/obj/machinery/computer/secure_data{
|
||||
dir = 8
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/heads_quarters/hos)
|
||||
"igf" = (
|
||||
/obj/effect/decal/cleanable/dirt,
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -117845,7 +117854,7 @@ axW
|
||||
awm
|
||||
axd
|
||||
axF
|
||||
ayl
|
||||
dbH
|
||||
azp
|
||||
aAr
|
||||
aBS
|
||||
@@ -119645,7 +119654,7 @@ ayO
|
||||
aCD
|
||||
axF
|
||||
ays
|
||||
aAy
|
||||
igd
|
||||
aBz
|
||||
cAp
|
||||
cJw
|
||||
@@ -120782,7 +120791,7 @@ lQs
|
||||
ceh
|
||||
ceP
|
||||
cXQ
|
||||
cgv
|
||||
gci
|
||||
chh
|
||||
cia
|
||||
cku
|
||||
@@ -128946,7 +128955,7 @@ bnL
|
||||
bot
|
||||
boJ
|
||||
blZ
|
||||
bpO
|
||||
cZR
|
||||
bqG
|
||||
brm
|
||||
blZ
|
||||
@@ -129202,7 +129211,7 @@ jqb
|
||||
bnL
|
||||
bot
|
||||
eec
|
||||
bpO
|
||||
cZR
|
||||
bip
|
||||
bqH
|
||||
brn
|
||||
|
||||
@@ -1504,7 +1504,6 @@
|
||||
areastring = "/area/security/prison/upper";
|
||||
damage_deflection = 21;
|
||||
desc = "A control terminal for the area's electrical systems. It's secured with a durable antitampering plasteel cage.";
|
||||
dir = 2;
|
||||
name = "Armored Prison Wing Cells APC";
|
||||
pixel_y = -26
|
||||
},
|
||||
@@ -12552,9 +12551,7 @@
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aWV" = (
|
||||
/obj/effect/turf_decal/stripes/corner{
|
||||
dir = 2
|
||||
},
|
||||
/obj/effect/turf_decal/stripes/corner,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/hallway/secondary/entry)
|
||||
"aWW" = (
|
||||
@@ -43635,7 +43632,8 @@
|
||||
idDoor = "xeno_airlock_exterior";
|
||||
idSelf = "xeno_airlock_control";
|
||||
name = "Access Button";
|
||||
pixel_x = -24
|
||||
pixel_x = -24;
|
||||
req_access_txt = "47"
|
||||
},
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
@@ -45280,7 +45278,7 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"dbl" = (
|
||||
/obj/structure/easel,
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/aft)
|
||||
"dbo" = (
|
||||
@@ -45465,7 +45463,8 @@
|
||||
idSelf = "xeno_airlock_control";
|
||||
name = "Access Button";
|
||||
pixel_x = 29;
|
||||
pixel_y = -8
|
||||
pixel_y = -8;
|
||||
req_access_txt = "47"
|
||||
},
|
||||
/obj/machinery/firealarm{
|
||||
pixel_y = 24
|
||||
@@ -45640,7 +45639,8 @@
|
||||
idSelf = "xeno_airlock_control";
|
||||
name = "Access Console";
|
||||
pixel_x = -25;
|
||||
pixel_y = -25
|
||||
pixel_y = -25;
|
||||
req_access_txt = "47"
|
||||
},
|
||||
/obj/effect/turf_decal/tile/purple{
|
||||
dir = 1
|
||||
@@ -46619,10 +46619,10 @@
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/fore)
|
||||
"dht" = (
|
||||
/obj/item/cigbutt,
|
||||
/obj/structure/sign/poster/contraband/random{
|
||||
pixel_x = -32
|
||||
},
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"dhu" = (
|
||||
@@ -52041,6 +52041,7 @@
|
||||
/obj/structure/extinguisher_cabinet{
|
||||
pixel_y = -30
|
||||
},
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/aft)
|
||||
"fpg" = (
|
||||
@@ -56725,6 +56726,13 @@
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
/area/service/hydroponics)
|
||||
"iaH" = (
|
||||
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{
|
||||
dir = 9
|
||||
},
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard)
|
||||
"ibn" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "1-2"
|
||||
@@ -65226,6 +65234,10 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/open/floor/plasteel,
|
||||
/area/cargo/storage)
|
||||
"mKY" = (
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port)
|
||||
"mLh" = (
|
||||
/obj/structure/cable/yellow{
|
||||
icon_state = "4-8"
|
||||
@@ -67942,6 +67954,10 @@
|
||||
/obj/machinery/atmospherics/pipe/simple/supply/hidden,
|
||||
/turf/closed/wall,
|
||||
/area/security/brig)
|
||||
"osn" = (
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/starboard/fore)
|
||||
"osB" = (
|
||||
/obj/machinery/door/firedoor,
|
||||
/obj/machinery/door/airlock/external{
|
||||
@@ -73549,7 +73565,6 @@
|
||||
/area/commons/fitness/recreation)
|
||||
"rta" = (
|
||||
/obj/machinery/door/airlock/external{
|
||||
dir = 2;
|
||||
name = "Public Mining Dock"
|
||||
},
|
||||
/obj/effect/mapping_helpers/airlock/cyclelink_helper{
|
||||
@@ -74329,6 +74344,10 @@
|
||||
},
|
||||
/turf/open/floor/plasteel/dark,
|
||||
/area/command/bridge)
|
||||
"rPp" = (
|
||||
/obj/structure/loot_pile/maint,
|
||||
/turf/open/floor/plating,
|
||||
/area/maintenance/port/fore)
|
||||
"rPB" = (
|
||||
/obj/effect/spawner/structure/window,
|
||||
/turf/open/floor/plating,
|
||||
@@ -78146,7 +78165,6 @@
|
||||
/obj/structure/bed/roller,
|
||||
/obj/machinery/camera{
|
||||
c_tag = "Prison Hallway Fore";
|
||||
dir = 2;
|
||||
network = list("ss13","prison")
|
||||
},
|
||||
/turf/open/floor/plasteel,
|
||||
@@ -99568,7 +99586,7 @@ arX
|
||||
dne
|
||||
dne
|
||||
dne
|
||||
aRG
|
||||
rPp
|
||||
aoc
|
||||
drQ
|
||||
dne
|
||||
@@ -99866,7 +99884,7 @@ auF
|
||||
bCJ
|
||||
tUa
|
||||
alK
|
||||
apz
|
||||
mKY
|
||||
aob
|
||||
alC
|
||||
aqK
|
||||
@@ -104958,7 +104976,7 @@ aji
|
||||
dnd
|
||||
alE
|
||||
vhj
|
||||
aRG
|
||||
rPp
|
||||
alE
|
||||
dou
|
||||
dne
|
||||
@@ -122203,7 +122221,7 @@ nQW
|
||||
yeJ
|
||||
pSY
|
||||
avD
|
||||
dnR
|
||||
osn
|
||||
dtS
|
||||
tMD
|
||||
eoN
|
||||
@@ -125064,7 +125082,7 @@ alq
|
||||
diu
|
||||
bWZ
|
||||
bYs
|
||||
bZB
|
||||
iaH
|
||||
bZE
|
||||
ccG
|
||||
ceb
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,354 @@
|
||||
//Halloween Fluff Papers!
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/memo/cookmemo
|
||||
name = "Memo: Cooks"
|
||||
info = "If you're reading this, thank you for volunteering your culinary services! Not only are you helping to keep costs down by rendering bluespace catering unnecessary, but you're also helping to give this event an 'organic' touch!<br>This isn't your typical day on the job, so be sure to focus on quality, not quantity. People are expecting better food than normal, and we've given you higher-quality cuts than usual to work with. Ideally you'll have botany to help with produce - if not, we may be able to deliver you some.<br>Remember to account for crew dietary concerns and provide those with less flexible digestive systems with more than one option if possible. Lastly, be sure to avoid foods that are particularly dangerous, we aren't looking for meals to \"die for\"<br>-Generated by Organic Resources Department Bot #7004"
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/memo/botanymemo
|
||||
name = "Memo: Botanists"
|
||||
info = "If you're reading this, thank you for lending us your \"green thumbs\"! Provided a cook is on duty, you'll save us the trouble of bluespace shipping produce, as well as giving us the privilege of saying it was \"locally sourced\"! If there isn't a chef...we may be able to put what you grow to good use yet.<br>Remember, your primary goal here is to produce produce. Not cannabis, not tomatoes that mutate people, we want things people can safely eat. Do what you can for the cook if there is one - otherwise, aspire for variety.<br>-Generated by Organic Resources Department Bot #7004"
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/memo/janniememo
|
||||
name = "Memo: Janitors"
|
||||
info = "If you're reading this, thanks for volunteering your janitorial services! You're greatly appreciated today, as this event will likely remind you why Citadel custodians command a higher salary than their counterparts in other sectors.<br>On the bright side, you shouldn't expect much in the way of danger.<br>-Generated by Organic Resources Department Bot #7004"
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/memo/securitymemo
|
||||
name = "Security Debrief"
|
||||
info = "<b>Greetings Security Officers,</b><br>Whether you've chosen or been chosen to help oversee this event, we appreciate your service today. Although this may come as a disappointment to some of you, we can absolutely confirm a lack of credible threats for once. As such, your primary mission is to keep the peace.<br>Central Command understands this may be difficult for those of you from military backgrounds - fortunately, we intend to be far more accessible for the sake of this event. Feel free to contact us if you have any uncertainties how to handle a situation, as cost is not the concern it normally is. However, you're expected to follow any orders we give to the best of your ability.<br>Some other things you should be aware of:<br>- You may see civilians in security apparel - this is to be expected as \"shitsec\" costumes are trending on the NTnet. For this reason we have issued you special uniforms. If you see a partygoer in THOSE, THEN you may have reason for concern.<br>- Items that may normally be cause for alarm can generally be assumed to be toys and/or replicas, potentially as part of a costume. You'll be informed whether an item is to be of concern, as Central Command will be handling much of the surveillance work.<br>- Speaking of surveillance, the chapel and larger building to the east are not equipped with cameras. The chapel has been fully investigated by an Inquistion, but due to \[REDACTED] they were unable to do the same for the east compound. You are not responsible for what goes on in these areas and partygoers have been warned to enter at their own risk.<br>-Central Command"
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/diary/diary01
|
||||
name = "7/31/2559"
|
||||
info = "People who say they can't afford any more than a nanoapartment really need to broaden their horizons. You'd be amazed by what you can find if you're willing to put up with a longer commute! I mean look at me, I got a place with square footage that'd put First Victorians to shame!<br>Part of why this place was so cheap was because some \"terrible things\" happened here in the past, apparently. Still, what's in the past is in the past, is it not?"
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/diary/diary02
|
||||
name = "8/2/2559"
|
||||
info = "Nice as this place is, it's kind of lonely. It also might be a bit tough to maintain all by myself, so what if I made it a hotel? Something like this'd surely stand out, especially when most of the hotels around here are Twin Nexuses.<br>It's not that they're not nice places - it's just that when you've been to one, you've been to them all. A hotel here? It'd be one of a kind!"
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/diary/diary03
|
||||
name = "9/13/2559"
|
||||
info = "<center>All hell has broken loose.</center><br>In the early evening, hundreds, maybe thousands of ghosts burst out of the chapel and old medical wing. They rushed through the halls, breaking any lights they passed. Then it happened.<br>We had quite a few doctors present that night, and suddenly they all went insane. One barged into the kitchen and dove headfirst into the gibber. The rest charged into medbay, each seeming to choose a unique method of suicide. Lethal injections, the electric chair, self-lobotomy - each seemed to top the last in absurdity. Then the ghosts all converged back in the chapel, appearing to vanish as quickly as they arrived.<br>All my remaining guests and staff have fled. Everyone seemed to have somewhere they could go...except for me. I can only pray these spirits don't take me in my sleep..."
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/diary/diary04
|
||||
name = "9/16/2559"
|
||||
info = "Word travels a lot faster than I thought, I haven't seen a customer in days...<br>The good news is that whatever happened a few days hasn't repeated itself. It's just me here - any staff I had resigned immediately after what went down on the 13th. I'm sure I could handle a few guests but am I gonna see one anytime soon?"
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/diary/diary05
|
||||
name = "10/7/2559"
|
||||
info = "Finally, I'm free of this nightmare.<br>Some folks showed up for the first time in weeks, said they were a part of \"NanoTransen\" or something. They seemed shocked I haven't heard of them, but all I care about is the fact they were willing to buy this place. I figured I'd at least get what I invested at this place, but for a \"megacorporation\" they sure seemed like a bunch of tightwads. Still, I took their offer.<br>It's their problem now."
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/cell03
|
||||
name = "Cell 3 Patient Information"
|
||||
info = "<b>Name:</b> J. Crane<br><b>Age:</b> 46 <b>Gender:</b> M <b>Height:</b> 183cm <b>Weight:</b> 81kg<br><b>Notes:</b> Patient exhibits violent tendencies and is not to be released from restraints under any circumstances. To reduce risk of violent outbreaks, birds; which patient has a strong phobia towards; are no longer allowed in proximity of cells, this includes the chief of staff's pet parrot."
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/cell04
|
||||
name = "Cell 4 Patient Information"
|
||||
info = "<b>Name:</b> Fidel S.<br><b>Age:</b> 20 <b>Gender:</b> M <b>Height:</b> 170cm <b>Weight:</b> 68kg<br><b>Notes:</b> Patient appears to be under the delusion that he is a dog, suffers from incontinence, and bites staff. Patient to be kept restrained in cell after attacking orderly Robinson, do not remove patient's muzzle outside designated meal periods."
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/traffickingvictim
|
||||
name = "Cell 1 Patient Information"
|
||||
info = "<b>Name:</b> S. Albright<br><b>Age:</b> 26 <b>Gender:</b> F <b>Height:</b> 174cm <b>Weight:</b> 63kg<br><b>Notes:</b> \[The notes are crossed out and unreadable, but there is writing on the back of the paper] Buyer found in Sol system, wealthy Martian man looking for a cheap bride, doesn't mind poor condition of the merchandise. Will be packaging with the next supply ship for transport."
|
||||
|
||||
/obj/item/paper/fluff/balls/spookyasylum/healstaffnote
|
||||
name = "Shipping Manifest 'Healing Staves'"
|
||||
info = "Contained in this chest are several magical healing staves created by NT sanctioned warlocks, please use them in the event an employee is injured during the festivities. We hope you have a safe and enjoyable celebration, remember you are expected to return to work promptly at its conclusion.<br>We apologize in the unlikely event the contents of the crate are scattered around the asylum by its teleportation."
|
||||
|
||||
//Dorm Buttons
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm01
|
||||
name = "dorm 1 button"
|
||||
id = "D100"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm02
|
||||
name = "dorm 2 button"
|
||||
id = "D101"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm03
|
||||
name = "dorm 3 button"
|
||||
id = "D102"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm04
|
||||
name = "dorm 4 button"
|
||||
id = "D103"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm05
|
||||
name = "dorm 5 button"
|
||||
id = "D104"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm06
|
||||
name = "dorm 6 button"
|
||||
id = "D105"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm07
|
||||
name = "dorm 7 button"
|
||||
id = "D106"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm08
|
||||
name = "dorm 8 button"
|
||||
id = "D107"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm09
|
||||
name = "dorm 9 button"
|
||||
id = "D108"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm10
|
||||
name = "dorm 10 button"
|
||||
id = "D109"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm11
|
||||
name = "dorm 11 button"
|
||||
id = "D110"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm12
|
||||
name = "dorm 12 button"
|
||||
id = "D111"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm13
|
||||
name = "dorm 13 button"
|
||||
id = "D112"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm14
|
||||
name = "dorm 14 button"
|
||||
id = "D113"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm15
|
||||
name = "dorm 15 button"
|
||||
id = "D114"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm16
|
||||
name = "dorm 16 button"
|
||||
id = "D115"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm17
|
||||
name = "dorm 17 button"
|
||||
id = "D116"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm18
|
||||
name = "dorm 18 button"
|
||||
id = "D117"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm19
|
||||
name = "dorm 19 button"
|
||||
id = "D118"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/dorm20
|
||||
name = "dorm 20 button"
|
||||
id = "D119"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = -24
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/patient1
|
||||
name = "door bolt"
|
||||
id = "D120"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
pixel_y = -8
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/patient2
|
||||
name = "door bolt"
|
||||
id = "D121"
|
||||
normaldoorcontrol = 1
|
||||
pixel_x = 24
|
||||
pixel_y = -8
|
||||
specialfunctions = 4
|
||||
|
||||
/obj/machinery/button/door/dorms/luxury1
|
||||
name = "Privacy Shutter Control"
|
||||
id = "L00"
|
||||
pixel_x = -8
|
||||
pixel_y = -24
|
||||
|
||||
/obj/machinery/button/door/dorms/luxury2
|
||||
name = "Privacy Shutter Control"
|
||||
id = "L01"
|
||||
pixel_x = 8
|
||||
pixel_y = -24
|
||||
|
||||
/obj/machinery/button/door/dorms/luxury3
|
||||
name = "Privacy Shutter Control"
|
||||
id = "L02"
|
||||
pixel_x = 8
|
||||
pixel_y = 24
|
||||
|
||||
/obj/machinery/button/door/dorms/luxury4
|
||||
name = "Privacy Shutter Control"
|
||||
id = "L03"
|
||||
pixel_x = -24
|
||||
pixel_y = 8
|
||||
|
||||
//Dorm Doors
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm01
|
||||
name = "Room 1"
|
||||
id_tag = "D100"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm02
|
||||
name = "Room 2"
|
||||
id_tag = "D101"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm03
|
||||
name = "Room 3"
|
||||
id_tag = "D102"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm04
|
||||
name = "Room 4"
|
||||
id_tag = "D103"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm05
|
||||
name = "Room 5"
|
||||
id_tag = "D104"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm06
|
||||
name = "Room 6"
|
||||
id_tag = "D105"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm07
|
||||
name = "Room 7"
|
||||
id_tag = "D106"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm08
|
||||
name = "Room 8"
|
||||
id_tag = "D107"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm09
|
||||
name = "Room 9"
|
||||
id_tag = "D108"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm10
|
||||
name = "Room 10"
|
||||
id_tag = "D109"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm11
|
||||
name = "Room 11"
|
||||
id_tag = "D110"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm12
|
||||
name = "Room 12"
|
||||
id_tag = "D111"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm13
|
||||
name = "Room 13"
|
||||
id_tag = "D112"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm14
|
||||
name = "Room 14"
|
||||
id_tag = "D113"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm15
|
||||
name = "Room 15"
|
||||
id_tag = "D114"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm16
|
||||
name = "Room 16"
|
||||
id_tag = "D115"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm17
|
||||
name = "Room 17"
|
||||
id_tag = "D116"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm18
|
||||
name = "Room 18"
|
||||
id_tag = "D117"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm19
|
||||
name = "Room 19"
|
||||
id_tag = "D118"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/dorm20
|
||||
name = "Room 20"
|
||||
id_tag = "D119"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/patient1
|
||||
name = "Recovery Room 1"
|
||||
id_tag = "D120"
|
||||
|
||||
/obj/machinery/door/airlock/wood/dorms/patient2
|
||||
name = "Recovery Room 2"
|
||||
id_tag = "D121"
|
||||
|
||||
//Luxury Dorm Shutters
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/preopen/luxury_dorms/luxury01
|
||||
name = "Luxury Dorm 1"
|
||||
id = "L00"
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/preopen/luxury_dorms/luxury02
|
||||
name = "Luxury Dorm 2"
|
||||
id = "L01"
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/preopen/luxury_dorms/luxury03
|
||||
name = "Luxury Dorm 3"
|
||||
id = "L02"
|
||||
|
||||
/obj/machinery/door/poddoor/shutters/preopen/luxury_dorms/luxury04
|
||||
name = "Luxury Dorm 4"
|
||||
id = "L03"
|
||||
|
||||
//This is just so I don't have to mass varedit!
|
||||
|
||||
/obj/structure/falsewall/halloweenBall/wood
|
||||
name = "wooden wall"
|
||||
desc = "A wall with wooden plating. Stiff."
|
||||
icon = 'icons/turf/walls/wood_wall.dmi'
|
||||
icon_state = "wood"
|
||||
mineral = /obj/item/stack/sheet/mineral/wood
|
||||
walltype = /turf/closed/wall/mineral/wood
|
||||
canSmoothWith = list(/obj/structure/falsewall/wood, /turf/closed/wall/mineral/wood, /turf/closed/indestructible/wood)
|
||||
@@ -0,0 +1,12 @@
|
||||
#define JOB_MODIFICATION_MAP_NAME "SpookyStation"
|
||||
|
||||
/turf
|
||||
baseturfs = /turf/open/floor/spooktime/spooktimegrass
|
||||
|
||||
MAP_REMOVE_JOB(geneticist)
|
||||
MAP_REMOVE_JOB(virologist)
|
||||
MAP_REMOVE_JOB(lawyer)
|
||||
MAP_REMOVE_JOB(scientist)
|
||||
MAP_REMOVE_JOB(lawyer)
|
||||
MAP_REMOVE_JOB(shaft_miner)
|
||||
MAP_REMOVE_JOB(AI)
|
||||
@@ -0,0 +1,4 @@
|
||||
#define FORCE_MAP "_maps/spookystation.json"
|
||||
|
||||
/turf
|
||||
baseturfs = /turf/open/floor/plating/spookbase/dirtattachmentpoint
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"map_name": "SpookyStation",
|
||||
"map_path": "map_files/SpookyStation",
|
||||
"map_file": "SpookyStation.dmm",
|
||||
"shuttles": {
|
||||
"emergency": "emergency_pubby",
|
||||
"whiteship": "whiteship_pubby",
|
||||
"ferry": "ferry_fancy",
|
||||
"cargo": "cargo_box"
|
||||
}
|
||||
}
|
||||
@@ -5,10 +5,6 @@
|
||||
#define NONE 0
|
||||
|
||||
//for convenience
|
||||
#define ENABLE_BITFIELD(variable, flag) (variable |= (flag))
|
||||
#define DISABLE_BITFIELD(variable, flag) (variable &= ~(flag))
|
||||
#define CHECK_BITFIELD(variable, flag) (variable & (flag))
|
||||
#define TOGGLE_BITFIELD(variable, flag) (variable ^= (flag))
|
||||
#define COPY_SPECIFIC_BITFIELDS(a,b,flags)\
|
||||
do{\
|
||||
var/_old = a & ~(flags);\
|
||||
@@ -154,7 +150,7 @@ GLOBAL_LIST_INIT(bitflags, list(
|
||||
|
||||
//Mob mobility var flags
|
||||
/// any flag
|
||||
#define CHECK_MOBILITY(target, flags) CHECK_BITFIELD(target.mobility_flags, flags)
|
||||
#define CHECK_MOBILITY(target, flags) (target.mobility_flags & flags)
|
||||
#define CHECK_ALL_MOBILITY(target, flags) CHECK_MULTIPLE_BITFIELDS(target.mobility_flags, flags)
|
||||
|
||||
/// can move
|
||||
|
||||
@@ -17,6 +17,7 @@ GLOBAL_LIST_EMPTY(all_clockwork_mobs) //All clockwork SERVANTS (not creatures) i
|
||||
GLOBAL_VAR_INIT(ratvar_approaches, 0) //The servants can choose to "herald" Ratvar, permanently buffing them but announcing their presence to the crew.
|
||||
GLOBAL_VAR_INIT(ratvar_awakens, 0) //If Ratvar has been summoned; not a boolean, for proper handling of multiple Ratvars
|
||||
GLOBAL_VAR_INIT(ark_of_the_clockwork_justiciar, FALSE) //The Ark on the Reebe z-level
|
||||
GLOBAL_VAR_INIT(reebe_loaded, FALSE) //Is reebe loaded right now? If two seperate things in one round try loading reebe.
|
||||
|
||||
GLOBAL_VAR_INIT(clockwork_gateway_activated, FALSE) //if a gateway to the celestial derelict has ever been successfully activated
|
||||
GLOBAL_VAR_INIT(script_scripture_unlocked, FALSE) //If script scripture is available, through converting at least one crewmember
|
||||
|
||||
@@ -173,23 +173,20 @@
|
||||
/proc/typecache_filter_list(list/atoms, list/typecache)
|
||||
RETURN_TYPE(/list)
|
||||
. = list()
|
||||
for(var/thing in atoms)
|
||||
var/atom/A = thing
|
||||
for(var/atom/A as anything in atoms)
|
||||
if (typecache[A.type])
|
||||
. += A
|
||||
|
||||
/proc/typecache_filter_list_reverse(list/atoms, list/typecache)
|
||||
RETURN_TYPE(/list)
|
||||
. = list()
|
||||
for(var/thing in atoms)
|
||||
var/atom/A = thing
|
||||
for(var/atom/A as anything in atoms)
|
||||
if(!typecache[A.type])
|
||||
. += A
|
||||
|
||||
/proc/typecache_filter_multi_list_exclusion(list/atoms, list/typecache_include, list/typecache_exclude)
|
||||
. = list()
|
||||
for(var/thing in atoms)
|
||||
var/atom/A = thing
|
||||
for(var/atom/A as anything in atoms)
|
||||
if(typecache_include[A.type] && !typecache_exclude[A.type])
|
||||
. += A
|
||||
|
||||
|
||||
@@ -151,7 +151,7 @@ GLOBAL_LIST_INIT(typecache_powerfailure_safe_areas, typecacheof(/area/engineerin
|
||||
if(!place.requires_power || (place.area_flags & NOTELEPORT) || (place.area_flags & HIDDEN_AREA))
|
||||
continue // No expanding powerless rooms etc
|
||||
areas[place.name] = place
|
||||
var/area_choice = tgui_input_list(creator, "Choose an area to expand or make a new area.", "Area Expansion", areas)
|
||||
var/area_choice = input(creator, "Choose an area to expand or make a new area.", "Area Expansion") as null|anything in areas
|
||||
area_choice = areas[area_choice]
|
||||
|
||||
if(!area_choice)
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
S["real_name"] >> name
|
||||
if(name)
|
||||
characters[name] = i
|
||||
var/chosen_name = tgui_input_list(C, "Which character do you wish to use as your appearance.", "", characters)
|
||||
var/chosen_name = input(C, "Which character do you wish to use as your appearance.") as anything in characters
|
||||
if(chosen_name)
|
||||
if(C.prefs.last_custom_holoform > world.time - CUSTOM_HOLOFORM_DELAY)
|
||||
to_chat(C.mob, "<span class='boldwarning'>You are attempting to set your custom holoform too fast!</span>")
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
if(path != root)
|
||||
choices.Insert(1,"/")
|
||||
|
||||
var/choice = tgui_input_list(src,"Choose a file to access:","Download", choices)
|
||||
var/choice = input(src,"Choose a file to access:","Download",null) as null|anything in choices
|
||||
switch(choice)
|
||||
if(null)
|
||||
return
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
for(var/gpath in subtypesof(/obj/item/organ/genital))
|
||||
var/obj/item/organ/genital/G = gpath
|
||||
if(!CHECK_BITFIELD(initial(G.genital_flags), GENITAL_BLACKLISTED))
|
||||
if(!(initial(G.genital_flags) & GENITAL_BLACKLISTED))
|
||||
GLOB.genitals_list[initial(G.name)] = gpath
|
||||
//END OF CIT CHANGES
|
||||
|
||||
|
||||
@@ -75,11 +75,11 @@
|
||||
|
||||
/proc/choose_reagent_id(mob/user)
|
||||
var/chosen_id
|
||||
switch(tgui_alert(user, "Choose a method.", "Add Reagents", list("Search", "Choose from a list", "I'm feeling lucky")))
|
||||
switch(alert(user, "Choose a method.", "Add Reagents", "Search", "Choose from a list", "I'm feeling lucky"))
|
||||
if("Search")
|
||||
var/valid_id
|
||||
while(!valid_id)
|
||||
chosen_id = tgui_input_text(user, "Enter the ID of the reagent you want to add.", "Search reagents")
|
||||
chosen_id = input(user, "Enter the ID of the reagent you want to add.", "Search reagents") as null|text
|
||||
if(isnull(chosen_id)) //Get me out of here!
|
||||
break
|
||||
if(!ispath(text2path(chosen_id)))
|
||||
@@ -91,7 +91,7 @@
|
||||
if(!valid_id)
|
||||
to_chat(user, "<span class='warning'>A reagent with that ID doesn't exist!</span>")
|
||||
if("Choose from a list")
|
||||
chosen_id = tgui_input_list(user, "Choose a reagent to add.", "Choose a reagent.", subtypesof(/datum/reagent))
|
||||
chosen_id = input(user, "Choose a reagent to add.", "Choose a reagent.") as null|anything in subtypesof(/datum/reagent)
|
||||
if("I'm feeling lucky")
|
||||
chosen_id = pick(subtypesof(/datum/reagent))
|
||||
return chosen_id
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
|
||||
/proc/sanitize_name(t,list/repl_chars = null)
|
||||
if(t == "space" || t == "floor" || t == "wall" || t == "r-wall" || t == "monkey" || t == "unknown" || t == "inactive ai") //prevents these common metagamey names
|
||||
tgui_alert(usr, "Invalid name.")
|
||||
alert("Invalid name.")
|
||||
return ""
|
||||
return sanitize(t)
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
// Used to get a properly sanitized input, of max_length
|
||||
// no_trim is self explanatory but it prevents the input from being trimed if you intend to parse newlines or whitespace.
|
||||
/proc/stripped_input(mob/user, message = "", title = "", default = "", max_length=MAX_MESSAGE_LEN, no_trim=FALSE)
|
||||
var/name = tgui_input_text(user, message, title, default)
|
||||
var/name = input(user, message, title, default) as text|null
|
||||
if(no_trim)
|
||||
return copytext(html_encode(name), 1, max_length)
|
||||
else
|
||||
@@ -101,7 +101,7 @@
|
||||
|
||||
// Used to get a properly sanitized multiline input, of max_length
|
||||
/proc/stripped_multiline_input(mob/user, message = "", title = "", default = "", max_length=MAX_MESSAGE_LEN, no_trim=FALSE)
|
||||
var/name = tgui_input_message(user, message, title, default)
|
||||
var/name = input(user, message, title, default) as message|null
|
||||
if(isnull(name)) // Return null if canceled.
|
||||
return null
|
||||
if(no_trim)
|
||||
@@ -113,7 +113,7 @@
|
||||
* stripped_multiline_input but reflects to the user instead if it's too big and returns null.
|
||||
*/
|
||||
/proc/stripped_multiline_input_or_reflect(mob/user, message = "", title = "", default = "", max_length=MAX_MESSAGE_LEN, no_trim=FALSE)
|
||||
var/name = tgui_input_message(user, message, title, default)
|
||||
var/name = input(user, message, title, default) as message|null
|
||||
if(isnull(name)) // Return null if canceled.
|
||||
return null
|
||||
if(length(name) > max_length)
|
||||
|
||||
@@ -249,7 +249,7 @@ Turf and target are separate in case you want to teleport some distance from a t
|
||||
var/list/borgs = active_free_borgs()
|
||||
if(borgs.len)
|
||||
if(user)
|
||||
. = tgui_input_list(user,"Unshackled cyborg signals detected:", "Cyborg Selection", borgs)
|
||||
. = input(user,"Unshackled cyborg signals detected:", "Cyborg Selection", borgs[1]) in borgs
|
||||
else
|
||||
. = pick(borgs)
|
||||
return .
|
||||
@@ -258,7 +258,7 @@ Turf and target are separate in case you want to teleport some distance from a t
|
||||
var/list/ais = active_ais()
|
||||
if(ais.len)
|
||||
if(user)
|
||||
. = tgui_input_list(user,"AI signals detected:", "AI Selection", ais)
|
||||
. = input(user,"AI signals detected:", "AI Selection", ais[1]) in ais
|
||||
else
|
||||
. = pick(ais)
|
||||
return .
|
||||
@@ -1075,7 +1075,7 @@ B --><-- A
|
||||
|
||||
/proc/pick_closest_path(value, list/matches = get_fancy_list_of_atom_types())
|
||||
if (value == FALSE) //nothing should be calling us with a number, so this is safe
|
||||
value = tgui_input_text(usr, "Enter type to find (blank for all, cancel to cancel)", "Search for type")
|
||||
value = input("Enter type to find (blank for all, cancel to cancel)", "Search for type") as null|text
|
||||
if (isnull(value))
|
||||
return
|
||||
value = trim(value)
|
||||
@@ -1089,7 +1089,7 @@ B --><-- A
|
||||
if(matches.len==1)
|
||||
chosen = matches[1]
|
||||
else
|
||||
chosen = tgui_input_list(usr, "Select a type", "Pick Type", matches)
|
||||
chosen = input("Select a type", "Pick Type", matches[1]) as null|anything in matches
|
||||
if(!chosen)
|
||||
return
|
||||
chosen = matches[chosen]
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
if(..())
|
||||
return
|
||||
var/mob/living/silicon/ai/AI = usr
|
||||
var/target_name = tgui_input_list(AI, "Choose who you want to track", "Tracking", AI.trackable_mobs())
|
||||
var/target_name = input(AI, "Choose who you want to track", "Tracking") as null|anything in AI.trackable_mobs()
|
||||
AI.ai_camera_track(target_name)
|
||||
|
||||
/atom/movable/screen/ai/camera_light
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
M.maptext = "Movable"
|
||||
M.maptext_width = 64
|
||||
|
||||
var/screen_l = tgui_input_text(usr,"Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Movable UI Object")
|
||||
var/screen_l = input(usr,"Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Movable UI Object") as text
|
||||
if(!screen_l)
|
||||
return
|
||||
|
||||
@@ -81,7 +81,7 @@
|
||||
S.maptext = "Snap"
|
||||
S.maptext_width = 64
|
||||
|
||||
var/screen_l = tgui_input_text(usr,"Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Snap UI Object")
|
||||
var/screen_l = input(usr,"Where on the screen? (Formatted as 'X,Y' e.g: '1,1' for bottom left)","Spawn Snap UI Object") as text
|
||||
if(!screen_l)
|
||||
return
|
||||
|
||||
|
||||
@@ -323,7 +323,7 @@
|
||||
var/obj/item/clothing/mask/M = check
|
||||
if(M.mask_adjusted)
|
||||
M.adjustmask(C)
|
||||
if(CHECK_BITFIELD(check.clothing_flags, ALLOWINTERNALS))
|
||||
if((check.clothing_flags & ALLOWINTERNALS))
|
||||
internals = TRUE
|
||||
if(!internals)
|
||||
to_chat(C, "<span class='warning'>You are not wearing an internals mask!</span>")
|
||||
|
||||
@@ -260,7 +260,7 @@
|
||||
return clamp((1.5 + (w_class/5)) * ((force_override || force) / 1.5), 0, 10 SECONDS) * CONFIG_GET(number/melee_stagger_factor)
|
||||
|
||||
/obj/item/proc/do_stagger_action(mob/living/target, mob/living/user, force_override)
|
||||
if(!CHECK_BITFIELD(target.status_flags, CANSTAGGER))
|
||||
if(!(target.status_flags & CANSTAGGER))
|
||||
return FALSE
|
||||
if(target.combat_flags & COMBAT_FLAG_SPRINT_ACTIVE)
|
||||
target.do_staggered_animation()
|
||||
|
||||
@@ -80,7 +80,7 @@ INITIALIZE_IMMEDIATE(/obj/effect/statclick)
|
||||
controllers["[controller] (controller.type)"] = controller //we use an associated list to ensure clients can't hold references to controllers
|
||||
controller_choices += "[controller] (controller.type)"
|
||||
|
||||
var/datum/controller/controller_string = tgui_input_list(src, "Select controller to debug", "Debug Controller", controller_choices)
|
||||
var/datum/controller/controller_string = input("Select controller to debug", "Debug Controller") as null|anything in controller_choices
|
||||
var/datum/controller/controller = controllers[controller_string]
|
||||
|
||||
if (!istype(controller))
|
||||
|
||||
@@ -483,7 +483,7 @@ GLOBAL_LIST_EMPTY(the_station_areas)
|
||||
if(!holder ||!check_rights(R_FUN))
|
||||
return
|
||||
|
||||
var/choice = tgui_alert(src, "What kind of level would you like to load?", "Load Away/VR", list(AWAY_MISSION_NAME, VIRT_REALITY_NAME, "Cancel"))
|
||||
var/choice = alert(src, "What kind of level would you like to load?", "Load Away/VR", AWAY_MISSION_NAME, VIRT_REALITY_NAME, "Cancel")
|
||||
|
||||
var/list/possible_options
|
||||
var/list/ztraits
|
||||
@@ -493,7 +493,7 @@ GLOBAL_LIST_EMPTY(the_station_areas)
|
||||
ztraits = list(ZTRAIT_AWAY = TRUE, ZTRAIT_VR = TRUE)
|
||||
if(AWAY_MISSION_NAME)
|
||||
if(!GLOB.the_gateway)
|
||||
if(tgui_alert(src, "There's no home gateway on the station. You sure you want to continue ?", "Uh oh", list("Yes", "No")) != "Yes")
|
||||
if(alert("There's no home gateway on the station. You sure you want to continue ?", "Uh oh", "Yes", "No") != "Yes")
|
||||
return
|
||||
possible_options = GLOB.potential_away_levels
|
||||
ztraits = list(ZTRAIT_AWAY = TRUE)
|
||||
@@ -503,7 +503,7 @@ GLOBAL_LIST_EMPTY(the_station_areas)
|
||||
var/away_name
|
||||
var/datum/space_level/away_level
|
||||
|
||||
var/answer = tgui_input_list(src, "What kind ? ","Away/VR", list(possible_options + "Custom"))
|
||||
var/answer = input("What kind ? ","Away/VR") as null|anything in list(possible_options + "Custom")
|
||||
switch(answer)
|
||||
if(null)
|
||||
return
|
||||
|
||||
@@ -943,6 +943,6 @@ SUBSYSTEM_DEF(shuttle)
|
||||
SSblackbox.record_feedback("text", "shuttle_manipulator", 1, "[mdp.name]")
|
||||
shuttle_loading = FALSE
|
||||
if(emergency == mdp) //you just changed the emergency shuttle, there are events in game + captains that can change your snowflake choice.
|
||||
var/set_purchase = tgui_alert(usr, "Do you want to also disable shuttle purchases/random events that would change the shuttle?", "Butthurt Admin Prevention", list("Yes, disable purchases/events", "No, I want to possibly get owned"))
|
||||
var/set_purchase = alert(usr, "Do you want to also disable shuttle purchases/random events that would change the shuttle?", "Butthurt Admin Prevention", "Yes, disable purchases/events", "No, I want to possibly get owned")
|
||||
if(set_purchase == "Yes, disable purchases/events")
|
||||
SSshuttle.shuttle_purchased = SHUTTLEPURCHASE_FORCED
|
||||
|
||||
@@ -453,7 +453,7 @@ SUBSYSTEM_DEF(vote)
|
||||
question = stripped_input(usr,"What is the vote for?")
|
||||
if(!question)
|
||||
return 0
|
||||
var/system_string = tgui_input_list(usr,"Which voting type?",GLOB.vote_type_names[1], GLOB.vote_type_names)
|
||||
var/system_string = input(usr,"Which voting type?",GLOB.vote_type_names[1]) in GLOB.vote_type_names
|
||||
vote_system = GLOB.vote_type_names[system_string]
|
||||
for(var/i=1,i<=10,i++)
|
||||
var/option = capitalize(stripped_input(usr,"Please enter an option or hit cancel to finish"))
|
||||
@@ -469,7 +469,7 @@ SUBSYSTEM_DEF(vote)
|
||||
var/bitflag = GLOB.display_vote_settings[A]
|
||||
toggletext = "[toggles & bitflag ? "Show" : "Hide"] [A]"
|
||||
choices[toggletext] = bitflag
|
||||
var/chosen = tgui_input_list(usr, "Toggle vote display settings. Cancel to finalize.", toggles, choices)
|
||||
var/chosen = input(usr, "Toggle vote display settings. Cancel to finalize.", toggles) as null|anything in choices
|
||||
if(!chosen)
|
||||
keep_going = FALSE
|
||||
else
|
||||
|
||||
@@ -564,7 +564,7 @@
|
||||
var/list/areas = list()
|
||||
for (var/area/a in owner.siliconaccessareas)
|
||||
areas[a.name] = a
|
||||
var/removeAPC = tgui_input_list(owner, "Select an APC to remove:","Remove APC Control", areas)
|
||||
var/removeAPC = input("Select an APC to remove:","Remove APC Control",1) as null|anything in areas
|
||||
if (!removeAPC)
|
||||
return
|
||||
var/area/area = areas[removeAPC]
|
||||
@@ -586,7 +586,7 @@
|
||||
var/list/areas = list()
|
||||
for (var/area/a in owner.siliconaccessareas)
|
||||
areas[a.name] = a
|
||||
var/accessAPC = tgui_input_list(owner, "Select an APC to access:","Access APC Interface", areas)
|
||||
var/accessAPC = input("Select an APC to access:","Access APC Interface",1) as null|anything in areas
|
||||
if (!accessAPC)
|
||||
return
|
||||
var/area/area = areas[accessAPC]
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
minimum_pressure = HAZARD_LOW_PRESSURE + 10
|
||||
maximum_pressure = LAVALAND_EQUIPMENT_EFFECT_PRESSURE - 1
|
||||
|
||||
minimum_temp = 270
|
||||
minimum_temp = 281
|
||||
maximum_temp = 320
|
||||
|
||||
/datum/atmosphere/lavaland/check_for_sanity(datum/gas_mixture/mix)
|
||||
|
||||
@@ -376,13 +376,13 @@
|
||||
if ("string")
|
||||
settings["mainsettings"][setting]["value"] = stripped_input(user, "Enter new value for [settings["mainsettings"][setting]["desc"]]", "Enter new value for [settings["mainsettings"][setting]["desc"]]", settings["mainsettings"][setting]["value"])
|
||||
if ("number")
|
||||
settings["mainsettings"][setting]["value"] = tgui_input_num(user, "Enter new value for [settings["mainsettings"][setting]["desc"]]", "Enter new value for [settings["mainsettings"][setting]["desc"]]")
|
||||
settings["mainsettings"][setting]["value"] = input(user, "Enter new value for [settings["mainsettings"][setting]["desc"]]", "Enter new value for [settings["mainsettings"][setting]["desc"]]") as num
|
||||
if ("color")
|
||||
settings["mainsettings"][setting]["value"] = input(user, "Enter new value for [settings["mainsettings"][setting]["desc"]]", "Enter new value for [settings["mainsettings"][setting]["desc"]]", settings["mainsettings"][setting]["value"]) as color
|
||||
if ("boolean")
|
||||
settings["mainsettings"][setting]["value"] = tgui_input_list(user, "[settings["mainsettings"][setting]["desc"]]?", "", list("Yes","No"))
|
||||
settings["mainsettings"][setting]["value"] = input(user, "[settings["mainsettings"][setting]["desc"]]?") in list("Yes","No")
|
||||
if ("ckey")
|
||||
settings["mainsettings"][setting]["value"] = tgui_input_list(user, "[settings["mainsettings"][setting]["desc"]]?", "", list("none") + GLOB.directory)
|
||||
settings["mainsettings"][setting]["value"] = input(user, "[settings["mainsettings"][setting]["desc"]]?") in list("none") + GLOB.directory
|
||||
if (settings["mainsettings"][setting]["callback"])
|
||||
var/datum/callback/callback = settings["mainsettings"][setting]["callback"]
|
||||
settings = callback.Invoke(settings)
|
||||
|
||||
@@ -52,12 +52,16 @@
|
||||
return
|
||||
|
||||
/**
|
||||
* Properly removes the component from `parent` and cleans up references
|
||||
* Setting `force` makes it not check for and remove the component from the parent
|
||||
* Setting `silent` deletes the component without sending a `COMSIG_COMPONENT_REMOVING` signal
|
||||
*/
|
||||
* Properly removes the component from `parent` and cleans up references
|
||||
*
|
||||
* Arguments:
|
||||
* * force - makes it not check for and remove the component from the parent
|
||||
* * silent - deletes the component without sending a [COMSIG_COMPONENT_REMOVING] signal
|
||||
*/
|
||||
/datum/component/Destroy(force=FALSE, silent=FALSE)
|
||||
if(!force && parent)
|
||||
if(!parent)
|
||||
return ..()
|
||||
if(!force)
|
||||
_RemoveFromParent()
|
||||
if(!silent)
|
||||
SEND_SIGNAL(parent, COMSIG_COMPONENT_REMOVING, src)
|
||||
|
||||
@@ -38,9 +38,11 @@
|
||||
|
||||
/datum/component/acid/Destroy()
|
||||
STOP_PROCESSING(SSprocessing, src)
|
||||
var/obj/O = parent
|
||||
level = 0
|
||||
O.update_overlays()
|
||||
if(parent) // So, this is how you get runtimes fellas.
|
||||
UnregisterSignal(parent, list(COMSIG_ATOM_UPDATE_OVERLAYS, COMSIG_ATOM_ATTACK_HAND)) // Don't worry about isitem checks, we don't need them.
|
||||
var/atom/O = parent
|
||||
O.update_icon(UPDATE_OVERLAYS)
|
||||
return ..()
|
||||
|
||||
/datum/component/acid/process()
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
expire = _expire
|
||||
|
||||
/datum/component/anti_magic/proc/on_equip(datum/source, mob/equipper, slot)
|
||||
if(!CHECK_BITFIELD(allowed_slots, slotdefine2slotbit(slot))) //Check that the slot is valid for antimagic
|
||||
if(!(allowed_slots & slotdefine2slotbit(slot))) //Check that the slot is valid for antimagic
|
||||
UnregisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC)
|
||||
return
|
||||
RegisterSignal(equipper, COMSIG_MOB_RECEIVE_MAGIC, .proc/protect, TRUE)
|
||||
|
||||
@@ -327,7 +327,7 @@
|
||||
/atom/movable/fov_holder/has_gravity(turf/T)
|
||||
return FALSE
|
||||
|
||||
/atom/movable/fov_holder/ex_act(severity)
|
||||
/atom/movable/fov_holder/ex_act(severity, target, origin)
|
||||
return FALSE
|
||||
|
||||
/atom/movable/fov_holder/singularity_act()
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
//try to get ammount to use
|
||||
var/requested_amount
|
||||
if(precise_insertion)
|
||||
requested_amount = tgui_input_num(user, "How much do you want to insert?", "Inserting [S.singular_name]s")
|
||||
requested_amount = input(user, "How much do you want to insert?", "Inserting [S.singular_name]s") as num|null
|
||||
else
|
||||
requested_amount= S.amount
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
var/list/obj/item/storage/backpack/holding/matching = typecache_filter_list(W.GetAllContents(), typecacheof(/obj/item/storage/backpack/holding))
|
||||
matching -= A
|
||||
if(istype(W, /obj/item/storage/backpack/holding) || matching.len)
|
||||
var/safety = tgui_alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [A.name]?", list("Abort", "Proceed"))
|
||||
var/safety = alert(user, "Doing this will have extremely dire consequences for the station and its crew. Be sure you know what you're doing.", "Put in [A.name]?", "Abort", "Proceed")
|
||||
if(safety != "Proceed" || QDELETED(A) || QDELETED(W) || QDELETED(user) || !user.canUseTopic(A, BE_CLOSE, iscarbon(user)))
|
||||
return
|
||||
var/turf/loccheck = get_turf(A)
|
||||
|
||||
@@ -450,7 +450,7 @@
|
||||
symptoms += SSdisease.list_symptoms.Copy()
|
||||
do
|
||||
if(user)
|
||||
var/symptom = tgui_input_list(user, "Choose a symptom to add ([i] remaining)", "Choose a Symptom", symptoms)
|
||||
var/symptom = input(user, "Choose a symptom to add ([i] remaining)", "Choose a Symptom") in symptoms
|
||||
if(isnull(symptom))
|
||||
return
|
||||
else if(istext(symptom))
|
||||
|
||||
@@ -112,7 +112,7 @@ GLOBAL_LIST_EMPTY(mobs_with_editable_flavor_text) //et tu, hacky code
|
||||
var/datum/element/flavor_text/F = i
|
||||
choices[F.flavor_name] = F
|
||||
|
||||
var/chosen = tgui_input_list(src, "Which flavor text would you like to modify?", "", choices)
|
||||
var/chosen = input(src, "Which flavor text would you like to modify?") as null|anything in choices
|
||||
if(!chosen)
|
||||
return
|
||||
var/datum/element/flavor_text/F = choices[chosen]
|
||||
|
||||
@@ -122,7 +122,7 @@
|
||||
overlays += mutable_appearance(f_icon, overlays_states[i], color = M.color)
|
||||
|
||||
/datum/element/polychromic/proc/set_color(atom/source, mob/user)
|
||||
var/choice = tgui_input_list(user,"Polychromic options", "Recolor [source]", overlays_names)
|
||||
var/choice = input(user,"Polychromic options", "Recolor [source]") as null|anything in overlays_names
|
||||
if(!choice || QDELETED(source) || !user.canUseTopic(source, BE_CLOSE, NO_DEXTERY))
|
||||
return
|
||||
var/index = overlays_names.Find(choice)
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
new /obj/effect/temp_visual/heart(target.loc)
|
||||
if(pet_emote)
|
||||
target.emote("me", pet_type, pet_emote)
|
||||
if(pet_moodlet && !CHECK_BITFIELD(target.flags_1, HOLOGRAM_1)) //prevents unlimited happiness petting park exploit.
|
||||
if(pet_moodlet && !(target.flags_1 & HOLOGRAM_1)) //prevents unlimited happiness petting park exploit.
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, target, pet_moodlet, target)
|
||||
|
||||
/datum/element/wuv/proc/kick_the_dog(mob/target, mob/user)
|
||||
@@ -60,5 +60,5 @@
|
||||
return
|
||||
if(punt_emote)
|
||||
target.emote("me", punt_type, punt_emote)
|
||||
if(punt_moodlet && !CHECK_BITFIELD(target.flags_1, HOLOGRAM_1))
|
||||
if(punt_moodlet && !(target.flags_1 & HOLOGRAM_1))
|
||||
SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT, target, punt_moodlet, target)
|
||||
|
||||
@@ -253,7 +253,7 @@ GLOBAL_LIST_EMPTY(explosions)
|
||||
if(dist > EXPLODE_NONE)
|
||||
T.explosion_level = max(T.explosion_level, dist) //let the bigger one have it
|
||||
T.explosion_id = id
|
||||
T.ex_act(dist)
|
||||
T.ex_act(dist, origin = src)
|
||||
exploded_this_tick += T
|
||||
|
||||
//--- THROW ITEMS AROUND ---
|
||||
@@ -385,7 +385,7 @@ GLOBAL_LIST_EMPTY(explosions)
|
||||
set name = "Check Bomb Impact"
|
||||
set category = "Debug"
|
||||
|
||||
var/newmode = tgui_alert(src, "Use reactionary explosions?","Check Bomb Impact", list("Yes", "No"))
|
||||
var/newmode = alert("Use reactionary explosions?","Check Bomb Impact", "Yes", "No")
|
||||
var/turf/epicenter = get_turf(mob)
|
||||
if(!epicenter)
|
||||
return
|
||||
@@ -394,7 +394,7 @@ GLOBAL_LIST_EMPTY(explosions)
|
||||
var/heavy = 0
|
||||
var/light = 0
|
||||
var/list/choices = list("Small Bomb","Medium Bomb","Big Bomb","Custom Bomb")
|
||||
var/choice = tgui_input_list(src, "Bomb Size?", "", choices)
|
||||
var/choice = input("Bomb Size?") in choices
|
||||
switch(choice)
|
||||
if(null)
|
||||
return 0
|
||||
@@ -411,9 +411,9 @@ GLOBAL_LIST_EMPTY(explosions)
|
||||
heavy = 5
|
||||
light = 7
|
||||
if("Custom Bomb")
|
||||
dev = tgui_input_num(src, "Devastation range (Tiles):")
|
||||
heavy = tgui_input_num(src, "Heavy impact range (Tiles):")
|
||||
light = tgui_input_num(src, "Light impact range (Tiles):")
|
||||
dev = input("Devastation range (Tiles):") as num
|
||||
heavy = input("Heavy impact range (Tiles):") as num
|
||||
light = input("Light impact range (Tiles):") as num
|
||||
|
||||
var/max_range = max(dev, heavy, light)
|
||||
var/x0 = epicenter.x
|
||||
|
||||
+11
-6
@@ -141,7 +141,7 @@
|
||||
if(isliving(new_character)) //New humans and such are by default enabled arousal. Let's always use the new mind's prefs.
|
||||
var/mob/living/L = new_character
|
||||
if(L.client?.prefs && L.client.prefs.auto_ooc && L.client.prefs.chat_toggles & CHAT_OOC)
|
||||
DISABLE_BITFIELD(L.client.prefs.chat_toggles,CHAT_OOC)
|
||||
L.client.prefs.chat_toggles &= ~(CHAT_OOC)
|
||||
|
||||
hide_ckey = current.client?.prefs?.hide_ckey
|
||||
|
||||
@@ -421,7 +421,7 @@
|
||||
A.admin_remove(usr)
|
||||
|
||||
if (href_list["role_edit"])
|
||||
var/new_role = tgui_input_list(usr, "Select new role", "Assigned role", get_all_jobs())
|
||||
var/new_role = input("Select new role", "Assigned role", assigned_role) as null|anything in get_all_jobs()
|
||||
if (!new_role)
|
||||
return
|
||||
assigned_role = new_role
|
||||
@@ -434,6 +434,7 @@
|
||||
|
||||
else if (href_list["obj_edit"] || href_list["obj_add"])
|
||||
var/objective_pos //Edited objectives need to keep same order in antag objective list
|
||||
var/def_value
|
||||
var/datum/antagonist/target_antag
|
||||
var/datum/objective/old_objective //The old objective we're replacing/editing
|
||||
var/datum/objective/new_objective //New objective we're be adding
|
||||
@@ -461,7 +462,7 @@
|
||||
if(1)
|
||||
target_antag = antag_datums[1]
|
||||
else
|
||||
var/datum/antagonist/target = tgui_input_list(usr, "Which antagonist gets the objective:", "Antagonist", list(antag_datums + "(new custom antag)"))
|
||||
var/datum/antagonist/target = input("Which antagonist gets the objective:", "Antagonist", "(new custom antag)") as null|anything in antag_datums + "(new custom antag)"
|
||||
if (QDELETED(target))
|
||||
return
|
||||
else if(target == "(new custom antag)")
|
||||
@@ -495,7 +496,11 @@
|
||||
var/datum/objective/X = T
|
||||
choices[initial(X.name)] = T
|
||||
|
||||
var/selected_type = tgui_input_list(usr, "Select objective type:", "Objective type", choices)
|
||||
if(old_objective)
|
||||
if(old_objective.name in choices)
|
||||
def_value = old_objective.name
|
||||
|
||||
var/selected_type = input("Select objective type:", "Objective type", def_value) as null|anything in choices
|
||||
selected_type = choices[selected_type]
|
||||
if (!selected_type)
|
||||
return
|
||||
@@ -533,7 +538,7 @@
|
||||
choices[initial(t.employer)] = C
|
||||
var/datum/antagonist/traitor/T = locate(href_list["target_antag"]) in antag_datums
|
||||
if(T)
|
||||
var/selected_type = tgui_input_list(usr, "Select traitor class:", "Traitor class", choices)
|
||||
var/selected_type = input("Select traitor class:", "Traitor class", T.traitor_kind.employer) as null|anything in choices
|
||||
selected_type = choices[selected_type]
|
||||
T.set_traitor_kind(selected_type)
|
||||
|
||||
@@ -594,7 +599,7 @@
|
||||
if(check_rights(R_FUN, 0))
|
||||
var/datum/component/uplink/U = find_syndicate_uplink()
|
||||
if(U)
|
||||
var/crystals = tgui_input_num(usr, "Amount of telecrystals for [key]","Syndicate uplink", U.telecrystals)
|
||||
var/crystals = input("Amount of telecrystals for [key]","Syndicate uplink", U.telecrystals) as null | num
|
||||
if(!isnull(crystals))
|
||||
U.telecrystals = crystals
|
||||
message_admins("[key_name_admin(usr)] changed [current]'s telecrystal count to [crystals].")
|
||||
|
||||
@@ -242,7 +242,7 @@
|
||||
if(!length(possible))
|
||||
to_chat(user,"<span class='warning'>Despite your best efforts, there are no scents to be found on [sniffed]...</span>")
|
||||
return
|
||||
tracking_target = tgui_input_list(user, "Choose a scent to remember.", "Scent Tracking", sortNames(possible))
|
||||
tracking_target = input(user, "Choose a scent to remember.", "Scent Tracking") as null|anything in sortNames(possible)
|
||||
if(!tracking_target)
|
||||
if(!old_target)
|
||||
to_chat(user,"<span class='warning'>You decide against remembering any scents. Instead, you notice your own nose in your peripheral vision. This goes on to remind you of that one time you started breathing manually and couldn't stop. What an awful day that was.</span>")
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
))
|
||||
if(!can_contaminate || blacklisted[thing.type])
|
||||
continue
|
||||
if(CHECK_BITFIELD(thing.rad_flags, RAD_NO_CONTAMINATE) || SEND_SIGNAL(thing, COMSIG_ATOM_RAD_CONTAMINATING, strength) & COMPONENT_BLOCK_CONTAMINATION)
|
||||
if((thing.rad_flags & RAD_NO_CONTAMINATE) || SEND_SIGNAL(thing, COMSIG_ATOM_RAD_CONTAMINATING, strength) & COMPONENT_BLOCK_CONTAMINATION)
|
||||
continue
|
||||
contam_atoms += thing
|
||||
var/did_contam = 0
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
if(!ui)
|
||||
ui = new(user, src, "SkillPanel", "[owner.name]'s Skills")
|
||||
ui.set_autoupdate(FALSE)
|
||||
ui.set_autoupdate(FALSE)
|
||||
ui.open()
|
||||
else if(need_static_data_update)
|
||||
update_static_data(user)
|
||||
@@ -57,7 +57,7 @@
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
var/skill = text2path(params["skill"])
|
||||
var/number = tgui_input_num(usr, "Please insert the amount of experience/progress you'd like to add/subtract:")
|
||||
var/number = input("Please insert the amount of experience/progress you'd like to add/subtract:") as num|null
|
||||
if (number)
|
||||
owner.set_skill_value(skill, owner.get_skill_value(skill, FALSE) + number)
|
||||
return TRUE
|
||||
@@ -65,7 +65,7 @@
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
var/skill = text2path(params["skill"])
|
||||
var/number = tgui_input_num(usr, "Please insert the number you want to set the player's exp/progress to:")
|
||||
var/number = input("Please insert the number you want to set the player's exp/progress to:") as num|null
|
||||
if (!isnull(number))
|
||||
owner.set_skill_value(skill, number)
|
||||
return TRUE
|
||||
@@ -73,7 +73,7 @@
|
||||
if(!check_rights(R_DEBUG))
|
||||
return
|
||||
var/datum/skill/level/S = GLOB.skill_datums[text2path(params["skill"])]
|
||||
var/number = tgui_input_num(usr, "Please insert a whole number between 0[S.associative ? " ([S.unskilled_tier])" : ""] and [S.max_levels][S.associative ? " ([S.levels[S.max_levels]])" : ""] corresponding to the level you'd like to set the player to.")
|
||||
var/number = input("Please insert a whole number between 0[S.associative ? " ([S.unskilled_tier])" : ""] and [S.max_levels][S.associative ? " ([S.levels[S.max_levels]])" : ""] corresponding to the level you'd like to set the player to.") as num|null
|
||||
if (number >= 0 && number <= S.max_levels)
|
||||
owner.set_skill_value(S.type, S.get_skill_level_value(number))
|
||||
return TRUE
|
||||
|
||||
+15
-15
@@ -319,38 +319,38 @@ GLOBAL_LIST_EMPTY(teleportlocs)
|
||||
*
|
||||
* Sends to all ai players, alert consoles, drones and alarm monitor programs in the world
|
||||
*/
|
||||
/area/proc/poweralert(state, obj/source)
|
||||
/area/proc/poweralert(set_alarm, obj/source)
|
||||
if (area_flags & NO_ALERTS)
|
||||
return
|
||||
if (state != poweralm)
|
||||
poweralm = state
|
||||
if (set_alarm != poweralm)
|
||||
poweralm = set_alarm
|
||||
if(istype(source)) //Only report power alarms on the z-level where the source is located.
|
||||
for (var/item in GLOB.silicon_mobs)
|
||||
var/mob/living/silicon/aiPlayer = item
|
||||
if (state == 1)
|
||||
aiPlayer.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
aiPlayer.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
aiPlayer.cancelAlarm("Power", src, source)
|
||||
|
||||
for (var/item in GLOB.alert_consoles)
|
||||
var/obj/machinery/computer/station_alert/a = item
|
||||
if(state == 1)
|
||||
a.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
a.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
a.cancelAlarm("Power", src, source)
|
||||
|
||||
for (var/item in GLOB.drones_list)
|
||||
var/mob/living/simple_animal/drone/D = item
|
||||
if(state == 1)
|
||||
D.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
D.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
D.cancelAlarm("Power", src, source)
|
||||
for(var/item in GLOB.alarmdisplay)
|
||||
var/datum/computer_file/program/alarm_monitor/p = item
|
||||
if(state == 1)
|
||||
p.cancelAlarm("Power", src, source)
|
||||
else
|
||||
if (set_alarm)
|
||||
p.triggerAlarm("Power", src, cameras, source)
|
||||
else
|
||||
p.cancelAlarm("Power", src, source)
|
||||
|
||||
/area/proc/atmosalert(danger_level, obj/source)
|
||||
if (area_flags & NO_ALERTS)
|
||||
|
||||
+18
-14
@@ -596,9 +596,13 @@
|
||||
//SHOULD_CALL_PARENT(TRUE)
|
||||
return SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_ICON_STATE)
|
||||
|
||||
/// Updates the overlays of the atom
|
||||
/**
|
||||
* Builds a list of overlays for the atom, this will not apply them.
|
||||
* If you need to update overlays, use [update_icon(UPDATE_OVERLAYS)],
|
||||
* This proc is intended to be overridden.
|
||||
*/
|
||||
/atom/proc/update_overlays()
|
||||
//SHOULD_CALL_PARENT(TRUE)
|
||||
SHOULD_CALL_PARENT(TRUE)
|
||||
. = list()
|
||||
SEND_SIGNAL(src, COMSIG_ATOM_UPDATE_OVERLAYS, .)
|
||||
|
||||
@@ -610,12 +614,12 @@
|
||||
user.buckle_message_cooldown = world.time + 50
|
||||
to_chat(user, "<span class='warning'>You can't move while buckled to [src]!</span>")
|
||||
|
||||
/atom/proc/contents_explosion(severity, target)
|
||||
/atom/proc/contents_explosion(severity, target, origin)
|
||||
return //For handling the effects of explosions on contents that would not normally be effected
|
||||
|
||||
/atom/proc/ex_act(severity, target, datum/explosion/E)
|
||||
/atom/proc/ex_act(severity, target, origin)
|
||||
set waitfor = FALSE
|
||||
contents_explosion(severity, target)
|
||||
contents_explosion(severity, target, origin)
|
||||
SEND_SIGNAL(src, COMSIG_ATOM_EX_ACT, severity, target)
|
||||
|
||||
/**
|
||||
@@ -985,14 +989,14 @@
|
||||
. = ..()
|
||||
if(href_list[VV_HK_ADD_REAGENT] && check_rights(R_VAREDIT))
|
||||
if(!reagents)
|
||||
var/amount = tgui_input_num(usr, "Specify the reagent size of [src]", "Set Reagent Size", 50)
|
||||
var/amount = input(usr, "Specify the reagent size of [src]", "Set Reagent Size", 50) as num
|
||||
if(amount)
|
||||
create_reagents(amount)
|
||||
|
||||
if(reagents)
|
||||
var/chosen_id = choose_reagent_id(usr)
|
||||
if(chosen_id)
|
||||
var/amount = tgui_input_num(usr, "Choose the amount to add.", "Choose the amount.", reagents.maximum_volume)
|
||||
var/amount = input(usr, "Choose the amount to add.", "Choose the amount.", reagents.maximum_volume) as num
|
||||
if(amount)
|
||||
reagents.add_reagent(chosen_id, amount)
|
||||
log_admin("[key_name(usr)] has added [amount] units of [chosen_id] to [src]")
|
||||
@@ -1002,25 +1006,25 @@
|
||||
if(href_list[VV_HK_TRIGGER_EMP] && check_rights(R_FUN))
|
||||
usr.client.cmd_admin_emp(src)
|
||||
if(href_list[VV_HK_MODIFY_TRANSFORM] && check_rights(R_VAREDIT))
|
||||
var/result = tgui_input_list(usr, "Choose the transformation to apply","Transform Mod", list("Scale","Translate","Rotate"))
|
||||
var/result = input(usr, "Choose the transformation to apply","Transform Mod") as null|anything in list("Scale","Translate","Rotate")
|
||||
var/matrix/M = transform
|
||||
switch(result)
|
||||
if("Scale")
|
||||
var/x = tgui_input_num(usr, "Choose x mod","Transform Mod")
|
||||
var/y = tgui_input_num(usr, "Choose y mod","Transform Mod")
|
||||
var/x = input(usr, "Choose x mod","Transform Mod") as null|num
|
||||
var/y = input(usr, "Choose y mod","Transform Mod") as null|num
|
||||
if(!isnull(x) && !isnull(y))
|
||||
transform = M.Scale(x,y)
|
||||
if("Translate")
|
||||
var/x = tgui_input_num(usr, "Choose x mod","Transform Mod")
|
||||
var/y = tgui_input_num(usr, "Choose y mod","Transform Mod")
|
||||
var/x = input(usr, "Choose x mod","Transform Mod") as null|num
|
||||
var/y = input(usr, "Choose y mod","Transform Mod") as null|num
|
||||
if(!isnull(x) && !isnull(y))
|
||||
transform = M.Translate(x,y)
|
||||
if("Rotate")
|
||||
var/angle = tgui_input_num(usr, "Choose angle to rotate","Transform Mod")
|
||||
var/angle = input(usr, "Choose angle to rotate","Transform Mod") as null|num
|
||||
if(!isnull(angle))
|
||||
transform = M.Turn(angle)
|
||||
if(href_list[VV_HK_AUTO_RENAME] && check_rights(R_VAREDIT))
|
||||
var/newname = tgui_input_text(usr, "What do you want to rename this to?", "Automatic Rename")
|
||||
var/newname = input(usr, "What do you want to rename this to?", "Automatic Rename") as null|text
|
||||
if(newname)
|
||||
vv_auto_rename(newname)
|
||||
if(href_list[VV_HK_EDIT_FILTERS] && check_rights(R_VAREDIT))
|
||||
|
||||
@@ -151,14 +151,8 @@ Credit where due:
|
||||
var/datum/team/clockcult/main_clockcult
|
||||
|
||||
/datum/game_mode/clockwork_cult/pre_setup() //Gamemode and job code is pain. Have fun codediving all of that stuff, whoever works on this next - Delta
|
||||
var/list/errorList = list()
|
||||
var/list/reebes = SSmapping.LoadGroup(errorList, "Reebe", "map_files/generic", "City_of_Cogs.dmm", default_traits = ZTRAITS_REEBE, silent = TRUE)
|
||||
if(errorList.len) // reebe failed to load
|
||||
message_admins("Reebe failed to load!")
|
||||
log_game("Reebe failed to load!")
|
||||
if(!load_reebe())
|
||||
return FALSE
|
||||
for(var/datum/parsed_map/PM in reebes) //Temporarily commented because of z-level loading reliably segfaulting the server.
|
||||
PM.initTemplateBounds()
|
||||
if(CONFIG_GET(flag/protect_roles_from_antagonist))
|
||||
restricted_jobs += protected_jobs
|
||||
if(CONFIG_GET(flag/protect_assistant_from_antagonist))
|
||||
|
||||
@@ -201,7 +201,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
else if (href_list["no_stacking"])
|
||||
GLOB.dynamic_no_stacking = !GLOB.dynamic_no_stacking
|
||||
else if (href_list["adjustthreat"])
|
||||
var/threatadd = tgui_input_num(usr, "Specify how much threat to add (negative to subtract). This can inflate the threat level.", "Adjust Threat", 0)
|
||||
var/threatadd = input("Specify how much threat to add (negative to subtract). This can inflate the threat level.", "Adjust Threat", 0) as null|num
|
||||
if(!threatadd)
|
||||
return
|
||||
if(threatadd > 0)
|
||||
@@ -221,9 +221,9 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
else if (href_list["threatlog"])
|
||||
show_threatlog(usr)
|
||||
else if (href_list["stacking_limit"])
|
||||
GLOB.dynamic_stacking_limit = tgui_input_num(usr,"Change the threat limit at which round-endings rulesets will start to stack.", "Change stacking limit", null)
|
||||
GLOB.dynamic_stacking_limit = input(usr,"Change the threat limit at which round-endings rulesets will start to stack.", "Change stacking limit", null) as num
|
||||
else if(href_list["force_latejoin_rule"])
|
||||
var/added_rule = tgui_input_list(usr,"What ruleset do you want to force upon the next latejoiner? This will bypass threat level and population restrictions.", "Rigging Latejoin", sortNames(init_rulesets(/datum/dynamic_ruleset/latejoin)))
|
||||
var/added_rule = input(usr,"What ruleset do you want to force upon the next latejoiner? This will bypass threat level and population restrictions.", "Rigging Latejoin", null) as null|anything in sortNames(init_rulesets(/datum/dynamic_ruleset/latejoin))
|
||||
if (!added_rule)
|
||||
return
|
||||
forced_latejoin_rule = added_rule
|
||||
@@ -234,7 +234,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
log_admin("[key_name(usr)] cleared the forced latejoin ruleset.")
|
||||
message_admins("[key_name(usr)] cleared the forced latejoin ruleset.")
|
||||
else if(href_list["force_midround_rule"])
|
||||
var/added_rule = tgui_input_list(usr,"What ruleset do you want to force right now? This will bypass threat level and population restrictions.", "Execute Ruleset", sortNames(init_rulesets(/datum/dynamic_ruleset/midround)))
|
||||
var/added_rule = input(usr,"What ruleset do you want to force right now? This will bypass threat level and population restrictions.", "Execute Ruleset", null) as null|anything in sortNames(init_rulesets(/datum/dynamic_ruleset/midround))
|
||||
if (!added_rule)
|
||||
return
|
||||
log_admin("[key_name(usr)] executed the [added_rule] ruleset.")
|
||||
@@ -653,6 +653,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
|
||||
if (drafted_rules.len > 0)
|
||||
pick_midround_rule(drafted_rules)
|
||||
else if (random_event_hijacked == HIJACKED_TOO_SOON)
|
||||
message_admins("DYNAMIC: Midround injection failed when random event was hijacked. Spawning another random event in its place.")
|
||||
log_game("DYNAMIC: Midround injection failed when random event was hijacked. Spawning another random event in its place.")
|
||||
|
||||
// A random event antag would have rolled had this injection check passed.
|
||||
|
||||
@@ -63,7 +63,7 @@
|
||||
required_candidates = 1
|
||||
weight = 7
|
||||
cost = 5
|
||||
requirements = list(40,30,20,10,10,10,10,10,10,10)
|
||||
requirements = list(101,40,25,20,15,10,10,10,10,10)
|
||||
repeatable = TRUE
|
||||
|
||||
//////////////////////////////////////////////
|
||||
@@ -159,5 +159,5 @@
|
||||
required_candidates = 1
|
||||
weight = 4
|
||||
cost = 10
|
||||
requirements = list(101,101,101,50,40,10,10,10,10,10)
|
||||
requirements = list(101,101,101,50,40,20,20,15,10,10)
|
||||
repeatable = TRUE
|
||||
|
||||
@@ -254,7 +254,7 @@
|
||||
antag_flag = ROLE_MALF
|
||||
enemy_roles = list("Security Officer", "Warden","Detective","Head of Security", "Captain", "Scientist", "Chemist", "Research Director", "Chief Engineer")
|
||||
exclusive_roles = list("AI")
|
||||
required_enemies = list(4,4,4,4,4,4,2,2,2,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 3
|
||||
cost = 35
|
||||
@@ -304,11 +304,11 @@
|
||||
antag_flag = "wizard mid"
|
||||
antag_flag_override = ROLE_WIZARD
|
||||
enemy_roles = list("Security Officer","Detective","Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 2
|
||||
cost = 20
|
||||
requirements = list(101,101,100,80,50,30,20,10,10,10)
|
||||
requirements = list(101,101,100,60,40,20,20,20,10,10)
|
||||
repeatable = TRUE
|
||||
var/datum/mind/wizard
|
||||
|
||||
@@ -351,11 +351,11 @@
|
||||
antag_datum = /datum/antagonist/nukeop
|
||||
antag_flag_override = ROLE_OPERATIVE
|
||||
enemy_roles = list("AI", "Cyborg", "Security Officer", "Warden","Detective","Head of Security", "Captain")
|
||||
required_enemies = list(3,3,3,3,3,2,1,1,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 5
|
||||
weight = 3
|
||||
cost = 35
|
||||
requirements = list(101,101,101,80,50,40,30,15,10,10)
|
||||
requirements = list(101,101,101,60,40,30,20,15,10,10)
|
||||
var/list/operative_cap = list(2,2,3,3,3,4,5,5,5,5)
|
||||
var/datum/team/nuclear/nuke_team
|
||||
flags = HIGH_IMPACT_RULESET
|
||||
@@ -393,11 +393,11 @@
|
||||
antag_datum = /datum/antagonist/blob
|
||||
antag_flag = ROLE_BLOB
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 2
|
||||
cost = 10
|
||||
requirements = list(101,101,101,101,70,40,25,20,10,10)
|
||||
requirements = list(101,101,101,101,50,40,30,20,10,10)
|
||||
repeatable = TRUE
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/blob/generate_ruleset_body(mob/applicant)
|
||||
@@ -412,11 +412,11 @@
|
||||
protected_roles = list("Prisoner", "Security Officer", "Warden", "Detective", "Head of Security", "Captain")
|
||||
restricted_roles = list("Cyborg", "AI", "Positronic Brain")
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 2
|
||||
cost = 10
|
||||
requirements = list(101,101,101,101,70,40,25,20,10,10)
|
||||
requirements = list(101,101,101,101,50,40,30,20,10,10)
|
||||
repeatable = TRUE
|
||||
|
||||
/datum/dynamic_ruleset/midround/blob_infection/trim_candidates()
|
||||
@@ -450,11 +450,11 @@
|
||||
antag_datum = /datum/antagonist/xeno
|
||||
antag_flag = ROLE_ALIEN
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 3
|
||||
cost = 10
|
||||
requirements = list(101,101,101,101,60,50,30,20,10,10)
|
||||
requirements = list(101,101,101,101,50,40,30,20,10,10)
|
||||
repeatable = TRUE
|
||||
var/list/vents = list()
|
||||
|
||||
@@ -496,11 +496,11 @@
|
||||
antag_flag = "Nightmare"
|
||||
antag_flag_override = ROLE_ALIEN
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 4
|
||||
cost = 10
|
||||
requirements = list(101,101,101,40,30,20,10,10,10,10)
|
||||
requirements = list(101,101,50,30,25,20,10,10,10,10)
|
||||
repeatable = TRUE
|
||||
var/list/spawn_locs = list()
|
||||
|
||||
@@ -542,11 +542,11 @@
|
||||
antag_flag = ROLE_SPACE_DRAGON
|
||||
antag_flag_override = ROLE_SPACE_DRAGON
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 3
|
||||
cost = 10
|
||||
requirements = list(101,101,101,101,60,50,30,20,10,10)
|
||||
requirements = list(101,101,101,101,50,40,30,20,10,10)
|
||||
repeatable = TRUE
|
||||
var/list/spawn_locs = list()
|
||||
|
||||
@@ -586,12 +586,12 @@
|
||||
antag_flag = "Abductor"
|
||||
antag_flag_override = ROLE_ABDUCTOR
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 2
|
||||
required_applicants = 2
|
||||
weight = 3
|
||||
cost = 10
|
||||
requirements = list(101,101,101,101,101,40,25,20,10,10)
|
||||
requirements = list(101,101,101,101,101,30,20,15,10,10)
|
||||
repeatable = TRUE
|
||||
var/datum/team/abductor_team/new_team
|
||||
|
||||
@@ -625,11 +625,11 @@
|
||||
antag_flag_override = ROLE_ALIEN
|
||||
required_type = /mob/dead/observer
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 0
|
||||
weight = 3
|
||||
cost = 10
|
||||
requirements = list(101,101,101,101,60,50,30,20,10,10)
|
||||
requirements = list(101,101,101,101,50,40,30,20,10,10)
|
||||
repeatable = TRUE
|
||||
|
||||
/datum/dynamic_ruleset/midround/swarmers/execute()
|
||||
@@ -658,11 +658,11 @@
|
||||
antag_flag = "Space Ninja"
|
||||
antag_flag_override = ROLE_NINJA
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 4
|
||||
cost = 10
|
||||
requirements = list(101,101,101,80,60,50,30,20,10,10)
|
||||
requirements = list(101,101,101,60,50,30,10,10,10,10)
|
||||
repeatable = TRUE
|
||||
var/list/spawn_locs = list()
|
||||
|
||||
@@ -699,11 +699,11 @@
|
||||
antag_flag = "Revenant"
|
||||
antag_flag_override = ROLE_REVENANT
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 1
|
||||
weight = 4
|
||||
cost = 10
|
||||
requirements = list(101,101,101,70,50,40,20,15,10,10)
|
||||
requirements = list(101,101,50,30,25,20,10,10,10,10)
|
||||
repeatable = TRUE
|
||||
var/dead_mobs_required = 20
|
||||
var/need_extra_spawns_value = 15
|
||||
@@ -748,7 +748,7 @@
|
||||
required_candidates = 1
|
||||
weight = 4
|
||||
cost = 10
|
||||
requirements = list(101,101,101,70,50,40,20,15,10,10)
|
||||
requirements = list(101,101,50,30,25,20,10,10,10,10)
|
||||
repeatable = TRUE
|
||||
|
||||
/datum/dynamic_ruleset/midround/from_ghosts/sentient_disease/generate_ruleset_body(mob/applicant)
|
||||
@@ -765,11 +765,11 @@
|
||||
antag_flag = "Space Pirates"
|
||||
required_type = /mob/dead/observer
|
||||
enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain")
|
||||
required_enemies = list(2,2,1,1,1,1,1,0,0,0)
|
||||
required_enemies = list(0,0,0,0,0,0,0,0,0,0)
|
||||
required_candidates = 0
|
||||
weight = 4
|
||||
cost = 10
|
||||
requirements = list(101,101,101,50,40,25,10,10,10,10)
|
||||
requirements = list(101,101,101,40,30,20,10,10,10,10)
|
||||
repeatable = TRUE
|
||||
|
||||
/datum/dynamic_ruleset/midround/pirates/acceptable(population=0, threat=0)
|
||||
|
||||
@@ -103,7 +103,7 @@
|
||||
weight = 3
|
||||
cost = 16
|
||||
scaling_cost = 10
|
||||
requirements = list(101,70,60,50,40,20,20,10,10,10)
|
||||
requirements = list(101,60,50,40,30,20,15,10,10,10)
|
||||
antag_cap = list("denominator" = 29)
|
||||
|
||||
/datum/dynamic_ruleset/roundstart/changeling/pre_execute(population)
|
||||
@@ -138,7 +138,7 @@
|
||||
weight = 3
|
||||
cost = 15
|
||||
scaling_cost = 9
|
||||
requirements = list(101,101,101,55,40,25,20,15,10,10)//higher because of 'round end'
|
||||
requirements = list(101,101,101,50,40,20,20,15,10,10)//higher because of 'round end'
|
||||
antag_cap = list("denominator" = 24)
|
||||
|
||||
|
||||
@@ -179,7 +179,7 @@
|
||||
required_candidates = 1
|
||||
weight = 3
|
||||
cost = 20
|
||||
requirements = list(101,101,100,80,50,40,30,20,10,10)//100 because of configt, otherwise equal to nukies
|
||||
requirements = list(101,101,100,60,40,20,20,20,10,10)//100 because of configt, otherwise equal to nukies
|
||||
var/list/roundstart_wizards = list()
|
||||
|
||||
/datum/dynamic_ruleset/roundstart/wizard/acceptable(population=0, threat=0)
|
||||
@@ -223,7 +223,7 @@
|
||||
weight = 2 //lower weight because of easy steamroll potential
|
||||
cost = 20
|
||||
//requirements = list(100,90,80,60,40,30,10,10,10,10)
|
||||
requirements = list(101,101,101,101,60,40,20,10,10,10)
|
||||
requirements = list(101,101,101,101,50,40,20,10,10,10)
|
||||
flags = HIGH_IMPACT_RULESET
|
||||
antag_cap = list("denominator" = 20, "offset" = 1)
|
||||
var/datum/team/cult/main_cult
|
||||
@@ -279,7 +279,7 @@
|
||||
required_candidates = 5
|
||||
weight = 3
|
||||
cost = 20
|
||||
requirements = list(101,101,101,80,50,40,30,15,10,10)
|
||||
requirements = list(101,101,101,60,40,30,20,15,10,10)
|
||||
flags = HIGH_IMPACT_RULESET
|
||||
antag_cap = list("denominator" = 18, "offset" = 1)
|
||||
var/datum/team/nuclear/nuke_team
|
||||
@@ -365,7 +365,7 @@
|
||||
weight = 2
|
||||
delay = 7 MINUTES
|
||||
cost = 20
|
||||
requirements = list(101,101,101,101,60,40,20,10,10,10)
|
||||
requirements = list(101,101,101,101,50,40,20,10,10,10)
|
||||
antag_cap = 3
|
||||
flags = HIGH_IMPACT_RULESET
|
||||
blocking_rules = list(/datum/dynamic_ruleset/latejoin/provocateur)
|
||||
@@ -445,7 +445,7 @@
|
||||
required_candidates = 2
|
||||
weight = 3 //higher weight than blood cult and revs because it's more balanced
|
||||
cost = 20
|
||||
requirements = list(101,101,101,101,60,40,20,10,10,10) //slightly higher than nukies
|
||||
requirements = list(101,101,101,101,50,40,20,10,10,10) //slightly higher than nukies
|
||||
flags = HIGH_IMPACT_RULESET
|
||||
antag_cap = list("denominator" = 20, "offset" = 1)
|
||||
var/datum/team/clockcult/main_clockcult
|
||||
|
||||
@@ -72,9 +72,9 @@
|
||||
set name = "Run Dynamic Simulations"
|
||||
set category = "Debug"
|
||||
|
||||
var/simulations = tgui_input_num(usr, "Enter number of simulations")
|
||||
var/roundstart_players = tgui_input_num(usr, "Enter number of round start players")
|
||||
var/forced_threat_level = tgui_input_num(usr, "Enter forced threat level, if you want one")
|
||||
var/simulations = input(usr, "Enter number of simulations") as num
|
||||
var/roundstart_players = input(usr, "Enter number of round start players") as num
|
||||
var/forced_threat_level = input(usr, "Enter forced threat level, if you want one") as num | null
|
||||
|
||||
SSticker.mode = new /datum/game_mode/dynamic
|
||||
message_admins("Running dynamic simulations...")
|
||||
|
||||
@@ -176,7 +176,7 @@
|
||||
return
|
||||
|
||||
var/time = round(tempgang.determine_domination_time()/60,0.1)
|
||||
if(tgui_alert(user,"A takeover will require [time] minutes.\nYour gang will be unable to gain influence while it is active.\nThe entire station will likely be alerted to it once it starts.\nYou have [tempgang.dom_attempts] attempt(s) remaining. Are you ready?","Confirm",list("Ready","Later")) == "Ready")
|
||||
if(alert(user,"A takeover will require [time] minutes.\nYour gang will be unable to gain influence while it is active.\nThe entire station will likely be alerted to it once it starts.\nYou have [tempgang.dom_attempts] attempt(s) remaining. Are you ready?","Confirm","Ready","Later") == "Ready")
|
||||
if((tempgang.domination_time != NOT_DOMINATING) || !tempgang.dom_attempts || !in_range(src, user) || !isturf(loc))
|
||||
return 0
|
||||
|
||||
|
||||
@@ -108,11 +108,11 @@
|
||||
.["Set domination time left"] = CALLBACK(src, .proc/set_dom_time_left)
|
||||
|
||||
/datum/antagonist/gang/admin_add(datum/mind/new_owner,mob/admin)
|
||||
var/new_or_existing = tgui_input_list(admin, "Which gang do you want to be assigned to the user?", "Gangs", list("New","Existing"))
|
||||
var/new_or_existing = input(admin, "Which gang do you want to be assigned to the user?", "Gangs") as null|anything in list("New","Existing")
|
||||
if(isnull(new_or_existing))
|
||||
return
|
||||
else if(new_or_existing == "New")
|
||||
var/newgang = tgui_input_list(admin, "Select a gang, or select random to pick a random one.", "New gang", GLOB.possible_gangs + "Random")
|
||||
var/newgang = input(admin, "Select a gang, or select random to pick a random one.", "New gang") as null|anything in GLOB.possible_gangs + "Random"
|
||||
if(isnull(newgang))
|
||||
return
|
||||
else if(newgang == "Random")
|
||||
@@ -125,7 +125,7 @@
|
||||
if(!GLOB.gangs.len) // no gangs exist
|
||||
to_chat(admin, "<span class='danger'>No gangs exist, please create a new one instead.</span>")
|
||||
return
|
||||
var/existinggang = tgui_input_list(admin, "Select a gang, or select random to pick a random one.", "Existing gang", GLOB.gangs + "Random")
|
||||
var/existinggang = input(admin, "Select a gang, or select random to pick a random one.", "Existing gang") as null|anything in GLOB.gangs + "Random"
|
||||
if(isnull(existinggang))
|
||||
return
|
||||
else if(existinggang == "Random")
|
||||
@@ -141,7 +141,7 @@
|
||||
promote()
|
||||
|
||||
/datum/antagonist/gang/proc/admin_adjust_influence()
|
||||
var/inf = tgui_input_num(usr, "Influence for [gang.name]","Gang influence", gang.influence)
|
||||
var/inf = input("Influence for [gang.name]","Gang influence", gang.influence) as null | num
|
||||
if(!isnull(inf))
|
||||
gang.influence = inf
|
||||
message_admins("[key_name_admin(usr)] changed [gang.name]'s influence to [inf].")
|
||||
@@ -158,7 +158,7 @@
|
||||
/datum/antagonist/gang/proc/set_dom_time_left(mob/admin)
|
||||
if(gang.domination_time == NOT_DOMINATING)
|
||||
return // an admin shouldn't need this
|
||||
var/seconds = tgui_input_num(admin, "Set the time left for the gang to win, in seconds", "Domination time left", (gang.domination_time - world.time) * 0.1)
|
||||
var/seconds = input(admin, "Set the time left for the gang to win, in seconds", "Domination time left") as null|num
|
||||
if(seconds && seconds > 0)
|
||||
gang.domination_time = world.time + seconds*10
|
||||
gang.message_gangtools("Takeover shortened to [gang.domination_time_remaining()] seconds by your Syndicate benefactors.")
|
||||
|
||||
@@ -39,11 +39,16 @@ GLOBAL_LIST_EMPTY(objectives)
|
||||
//Shared by few objective types
|
||||
/datum/objective/proc/admin_simple_target_pick(mob/admin)
|
||||
var/list/possible_targets = list("Free objective")
|
||||
var/def_value
|
||||
for(var/datum/mind/possible_target in SSticker.minds)
|
||||
if ((possible_target != src) && ishuman(possible_target.current))
|
||||
possible_targets += possible_target.current
|
||||
|
||||
var/mob/new_target = tgui_input_list(admin,"Select target:", "Objective target", possible_targets)
|
||||
|
||||
if(target && target.current)
|
||||
def_value = target.current
|
||||
|
||||
var/mob/new_target = input(admin,"Select target:", "Objective target", def_value) as null|anything in possible_targets
|
||||
if (!new_target)
|
||||
return
|
||||
|
||||
@@ -600,12 +605,12 @@ GLOBAL_LIST_EMPTY(possible_items)
|
||||
|
||||
/datum/objective/steal/admin_edit(mob/admin)
|
||||
var/list/possible_items_all = GLOB.possible_items+"custom"
|
||||
var/new_target = tgui_input_list(admin,"Select target:", "Objective target", possible_items_all)
|
||||
var/new_target = input(admin,"Select target:", "Objective target", steal_target) as null|anything in possible_items_all
|
||||
if (!new_target)
|
||||
return
|
||||
|
||||
if (new_target == "custom") //Can set custom items.
|
||||
var/custom_path = tgui_input_text(admin,"Search for target item type:","Type")
|
||||
var/custom_path = input(admin,"Search for target item type:","Type") as null|text
|
||||
if (!custom_path)
|
||||
return
|
||||
var/obj/item/custom_target = pick_closest_path(custom_path, make_types_fancy(subtypesof(/obj/item)))
|
||||
@@ -722,7 +727,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
|
||||
return checking.researched_nodes.len >= target_amount
|
||||
|
||||
/datum/objective/download/admin_edit(mob/admin)
|
||||
var/count = tgui_input_num(admin,"How many nodes ?","Nodes",target_amount)
|
||||
var/count = input(admin,"How many nodes ?","Nodes",target_amount) as num|null
|
||||
if(count)
|
||||
target_amount = count
|
||||
update_explanation_text()
|
||||
@@ -768,7 +773,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
|
||||
return captured_amount >= target_amount
|
||||
|
||||
/datum/objective/capture/admin_edit(mob/admin)
|
||||
var/count = tgui_input_num(admin,"How many mobs to capture ?","capture",target_amount)
|
||||
var/count = input(admin,"How many mobs to capture ?","capture",target_amount) as num|null
|
||||
if(count)
|
||||
target_amount = count
|
||||
update_explanation_text()
|
||||
@@ -800,7 +805,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
|
||||
explanation_text = "Extract [target_amount] compatible genome\s."
|
||||
|
||||
/datum/objective/absorb/admin_edit(mob/admin)
|
||||
var/count = tgui_input_num(admin,"How many people to absorb?","absorb",target_amount)
|
||||
var/count = input(admin,"How many people to absorb?","absorb",target_amount) as num|null
|
||||
if(count)
|
||||
target_amount = count
|
||||
update_explanation_text()
|
||||
@@ -890,7 +895,7 @@ GLOBAL_LIST_EMPTY(possible_items_special)
|
||||
/datum/objective/destroy/admin_edit(mob/admin)
|
||||
var/list/possible_targets = active_ais(1)
|
||||
if(possible_targets.len)
|
||||
var/mob/new_target = tgui_input_list(admin,"Select target:", "Objective target", possible_targets)
|
||||
var/mob/new_target = input(admin,"Select target:", "Objective target") as null|anything in possible_targets
|
||||
target = new_target.mind
|
||||
else
|
||||
to_chat(admin, "No active AIs with minds")
|
||||
|
||||
@@ -58,9 +58,9 @@
|
||||
storedpda.forceMove(loc)
|
||||
storedpda = null
|
||||
|
||||
/obj/machinery/pdapainter/contents_explosion(severity, target)
|
||||
/obj/machinery/pdapainter/contents_explosion(severity, target, origin)
|
||||
if(storedpda)
|
||||
storedpda.ex_act(severity, target)
|
||||
storedpda.ex_act(severity, target, origin)
|
||||
|
||||
/obj/machinery/pdapainter/handle_atom_del(atom/A)
|
||||
if(A == storedpda)
|
||||
@@ -112,7 +112,7 @@
|
||||
if(!storedpda)
|
||||
to_chat(user, "<span class='notice'>[src] is empty.</span>")
|
||||
return
|
||||
var/choice = tgui_input_list(user, "Select the new skin!", "PDA Painting", colorlist)
|
||||
var/choice = input(user, "Select the new skin!", "PDA Painting") as null|anything in colorlist
|
||||
if(!choice || !storedpda || !in_range(src, user))
|
||||
return
|
||||
var/list/P = colorlist[choice]
|
||||
|
||||
@@ -405,9 +405,9 @@ Class Procs:
|
||||
update_appearance()
|
||||
return TRUE
|
||||
|
||||
/obj/machinery/contents_explosion(severity, target)
|
||||
/obj/machinery/contents_explosion(severity, target, origin)
|
||||
if(occupant)
|
||||
occupant.ex_act(severity, target)
|
||||
occupant.ex_act(severity, target, origin)
|
||||
|
||||
/obj/machinery/handle_atom_del(atom/A)
|
||||
if(A == occupant)
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
max_integrity = 200
|
||||
var/obj/item/bodypart/storedpart
|
||||
var/initial_icon_state
|
||||
var/static/list/style_list_icons = list("standard" = 'icons/mob/augmentation/augments.dmi',
|
||||
"engineer" = 'icons/mob/augmentation/augments_engineer.dmi',
|
||||
"security" = 'icons/mob/augmentation/augments_security.dmi',
|
||||
"mining" = 'icons/mob/augmentation/augments_mining.dmi',
|
||||
"Talon" = 'icons/mob/augmentation/cosmetic_prosthetic/talon.dmi',
|
||||
"Nanotrasen" = 'icons/mob/augmentation/cosmetic_prosthetic/nanotrasen.dmi',
|
||||
"Hephaesthus" = 'icons/mob/augmentation/cosmetic_prosthetic/hephaestus.dmi',
|
||||
"Bishop" = 'icons/mob/augmentation/cosmetic_prosthetic/bishop.dmi',
|
||||
var/static/list/style_list_icons = list("standard" = 'icons/mob/augmentation/augments.dmi',
|
||||
"engineer" = 'icons/mob/augmentation/augments_engineer.dmi',
|
||||
"security" = 'icons/mob/augmentation/augments_security.dmi',
|
||||
"mining" = 'icons/mob/augmentation/augments_mining.dmi',
|
||||
"Talon" = 'icons/mob/augmentation/cosmetic_prosthetic/talon.dmi',
|
||||
"Nanotrasen" = 'icons/mob/augmentation/cosmetic_prosthetic/nanotrasen.dmi',
|
||||
"Hephaesthus" = 'icons/mob/augmentation/cosmetic_prosthetic/hephaestus.dmi',
|
||||
"Bishop" = 'icons/mob/augmentation/cosmetic_prosthetic/bishop.dmi',
|
||||
"Xion" = 'icons/mob/augmentation/cosmetic_prosthetic/xion.dmi',
|
||||
"Grayson" = 'icons/mob/augmentation/cosmetic_prosthetic/grayson.dmi',
|
||||
"Cybersolutions" = 'icons/mob/augmentation/cosmetic_prosthetic/cybersolutions.dmi',
|
||||
@@ -55,9 +55,9 @@
|
||||
storedpart.forceMove(loc)
|
||||
storedpart = null
|
||||
|
||||
/obj/machinery/aug_manipulator/contents_explosion(severity, target)
|
||||
/obj/machinery/aug_manipulator/contents_explosion(severity, target, origin)
|
||||
if(storedpart)
|
||||
storedpart.ex_act(severity, target)
|
||||
storedpart.ex_act(severity, target, origin)
|
||||
|
||||
/obj/machinery/aug_manipulator/handle_atom_del(atom/A)
|
||||
if(A == storedpart)
|
||||
@@ -116,7 +116,7 @@
|
||||
add_fingerprint(user)
|
||||
|
||||
if(storedpart)
|
||||
var/augstyle = tgui_input_list(user, "Select style.", "Augment Custom Fitting", style_list_icons)
|
||||
var/augstyle = input(user, "Select style.", "Augment Custom Fitting") as null|anything in style_list_icons
|
||||
if(!augstyle)
|
||||
return
|
||||
if(!in_range(src, user))
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
if(materials.materials[i] > 0)
|
||||
list_to_show += i
|
||||
|
||||
used_material = tgui_input_list(usr, "Choose [used_material]", "Custom Material", sortList(list_to_show, /proc/cmp_typepaths_asc))
|
||||
used_material = input("Choose [used_material]", "Custom Material") as null|anything in sortList(list_to_show, /proc/cmp_typepaths_asc)
|
||||
if(!used_material)
|
||||
return //Didn't pick any material, so you can't build shit either.
|
||||
custom_materials[used_material] += amount_needed
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
to_chat(user, "<span class='warning'>This machine already has bags attached.</span>")
|
||||
|
||||
if(!bag && !outbag)
|
||||
var/choice = tgui_alert(user, "Choose where to place [O]", "", list("Input", "Cancel", "Output"))
|
||||
var/choice = alert(user, "Choose where to place [O]", "", "Input", "Cancel", "Output")
|
||||
switch(choice)
|
||||
if("Cancel")
|
||||
return FALSE
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
M.reset_perspective(null)
|
||||
to_chat(M, "The screen bursts into static.")
|
||||
|
||||
/obj/machinery/camera/ex_act(severity, target)
|
||||
/obj/machinery/camera/ex_act(severity, target, origin)
|
||||
if(invuln)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
/mob/living/silicon/ai/proc/show_camera_list()
|
||||
var/list/cameras = get_camera_list()
|
||||
var/camera = tgui_input_list(src, "Choose which camera you want to view", "Cameras", cameras)
|
||||
var/camera = input(src, "Choose which camera you want to view", "Cameras") as null|anything in cameras
|
||||
switchCamera(cameras[camera])
|
||||
|
||||
/datum/trackable
|
||||
|
||||
@@ -439,7 +439,7 @@
|
||||
mob_occupant.copy_from_prefs_vr()
|
||||
go_out()
|
||||
|
||||
/obj/machinery/clonepod/ex_act(severity, target)
|
||||
/obj/machinery/clonepod/ex_act(severity, target, origin)
|
||||
..()
|
||||
if(!QDELETED(src))
|
||||
go_out()
|
||||
|
||||
@@ -258,8 +258,8 @@
|
||||
|
||||
//heccing chonker passive, only gives more HP at the start of a new game but has one of the hardest weakpoint to trigger.
|
||||
if(LAZYACCESS(enemy_passive, "chonker"))
|
||||
if(weakpoint_check("chonker","power_attack","power_attack","power_attack"))
|
||||
list_temp += "<br><center><h3>After a lot of power attacks you manage to tip over [enemy_name] as they fall over their enormous weight<center><h3> "
|
||||
if(weakpoint_check("chonker","attack","attack","power_attack"))
|
||||
list_temp += "<br><center><h3>After attacking twice, your power attack manages to tip over [enemy_name] as they fall over their enormous weight<center><h3> "
|
||||
enemy_hp -= 30
|
||||
|
||||
//smart passive trait, mainly works in tandem with other traits, makes the enemy unable to be counter_attacked
|
||||
@@ -302,7 +302,7 @@
|
||||
else if(!enemy_stance)
|
||||
var/added_temp
|
||||
|
||||
if(rand())
|
||||
if(prob(80))
|
||||
added_temp = "you for [attack_amount + 5] damage!"
|
||||
player_hp -= attack_amount + 5
|
||||
enemy_stance = "attack"
|
||||
@@ -451,7 +451,7 @@
|
||||
msg += "\t<span class='info'>shotgun -> defend, defend, power attack</span>"
|
||||
msg += "\t<span class='info'>short temper -> counter, counter, counter</span>"
|
||||
msg += "\t<span class='info'>poisonous -> light attack, light attack, light attack</span>"
|
||||
msg += "\t<span class='info'>chonker -> power attack, power attack, power attack</span>"
|
||||
msg += "\t<span class='info'>chonker -> light attack, light attack, power attack</span>"
|
||||
return msg
|
||||
|
||||
/obj/machinery/computer/arcade/battle/emag_act(mob/user)
|
||||
|
||||
@@ -251,7 +251,7 @@ GLOBAL_LIST_EMPTY(atmos_air_controllers)
|
||||
IO |= text[1]
|
||||
if(!IO.len)
|
||||
to_chat(user, "<span class='alert'>No machinery detected.</span>")
|
||||
var/S = tgui_input_list(user, "Select the device set: ", "Selection", sortList(IO))
|
||||
var/S = input("Select the device set: ", "Selection", IO[1]) as anything in sortList(IO)
|
||||
if(src)
|
||||
src.input_tag = "[S]_in"
|
||||
src.output_tag = "[S]_out"
|
||||
|
||||
@@ -269,7 +269,7 @@
|
||||
T["[netcam.c_tag][netcam.can_use() ? null : " (Deactivated)"]"] = netcam
|
||||
|
||||
playsound(origin, 'sound/machines/terminal_prompt.ogg', 25, 0)
|
||||
var/camera = tgui_input_list(usr, "Choose which camera you want to view", "Cameras", T)
|
||||
var/camera = input("Choose which camera you want to view", "Cameras") as null|anything in T
|
||||
var/obj/machinery/camera/final = T[camera]
|
||||
playsound(src, "terminal_type", 25, 0)
|
||||
if(final)
|
||||
|
||||
@@ -447,7 +447,7 @@ GLOBAL_VAR_INIT(time_last_changed_position, 0)
|
||||
if (authenticated == 2)
|
||||
var/t1 = href_list["assign_target"]
|
||||
if(t1 == "Custom")
|
||||
var/newJob = reject_bad_text(tgui_input_text(usr, "Enter a custom job assignment.", "Assignment", inserted_modify_id ? inserted_modify_id.assignment : "Unassigned"), MAX_NAME_LEN)
|
||||
var/newJob = reject_bad_text(input("Enter a custom job assignment.", "Assignment", inserted_modify_id ? inserted_modify_id.assignment : "Unassigned"), MAX_NAME_LEN)
|
||||
if(newJob)
|
||||
t1 = newJob
|
||||
|
||||
|
||||
@@ -116,7 +116,7 @@
|
||||
return
|
||||
current_pad.display_name = new_name
|
||||
if("remove")
|
||||
if(usr && tgui_alert(usr, "Are you sure?", "Unlink Launchpad", list("I'm Sure", "Abort")) != "Abort")
|
||||
if(usr && alert(usr, "Are you sure?", "Unlink Launchpad", "I'm Sure", "Abort") != "Abort")
|
||||
launchpads -= current_pad
|
||||
selected_id = null
|
||||
. = TRUE
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
return
|
||||
current_pad.display_name = new_name
|
||||
if("remove")
|
||||
if(usr && tgui_alert(usr, "Are you sure?", "Unlink Orbital Pad", list("I'm Sure", "Abort")) != "Abort")
|
||||
if(usr && alert(usr, "Are you sure?", "Unlink Orbital Pad", "I'm Sure", "Abort") != "Abort")
|
||||
mechpads -= current_pad
|
||||
LAZYREMOVE(current_pad.consoles, src)
|
||||
selected_id = null
|
||||
|
||||
@@ -289,7 +289,7 @@
|
||||
active1.fields["gender"] = "Male"
|
||||
if("age")
|
||||
if(active1)
|
||||
var/t1 = tgui_input_num(usr, "Please input age:", "Med. records", active1.fields["age"])
|
||||
var/t1 = input("Please input age:", "Med. records", active1.fields["age"], null) as num
|
||||
if(!canUseMedicalRecordsConsole(usr, t1, a1))
|
||||
return
|
||||
active1.fields["age"] = t1
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
if("reset")
|
||||
contained_id.points = 0
|
||||
if("setgoal")
|
||||
var/num = round(tgui_input_num(usr, "Choose prisoner's goal:", "Input an Integer", contained_id.goal))
|
||||
var/num = round(input(usr, "Choose prisoner's goal:", "Input an Integer", null) as num|null)
|
||||
if(num >= 0)
|
||||
num = min(num,1000) //Cap the quota to the equivilent of 10 minutes.
|
||||
contained_id.goal = num
|
||||
|
||||
@@ -577,13 +577,13 @@ What a mess.*/
|
||||
active1.fields["gender"] = "Male"
|
||||
if("age")
|
||||
if(istype(active1, /datum/data/record))
|
||||
var/t1 = tgui_input_num(usr, "Please input age:", "Secure. records", active1.fields["age"])
|
||||
var/t1 = input("Please input age:", "Secure. records", active1.fields["age"], null) as num
|
||||
if(!canUseSecurityRecordsConsole(usr, "age", a1))
|
||||
return
|
||||
active1.fields["age"] = t1
|
||||
if("species")
|
||||
if(istype(active1, /datum/data/record))
|
||||
var/t1 = stripped_input("Please input species name", "Secure. records", active1.fields["species"], null)
|
||||
var/t1 = input("Select a species", "Species Selection") as null|anything in GLOB.roundstart_races
|
||||
if(!canUseSecurityRecordsConsole(usr, t1, a1))
|
||||
return
|
||||
active1.fields["species"] = t1
|
||||
@@ -687,7 +687,7 @@ What a mess.*/
|
||||
temp += "<li><a href='?src=[REF(src)];choice=Change Rank;rank=[rank]'>[rank]</a></li>"
|
||||
temp += "</ul>"
|
||||
else
|
||||
tgui_alert(usr, "You do not have the required rank to do this!")
|
||||
alert(usr, "You do not have the required rank to do this!")
|
||||
//TEMPORARY MENU FUNCTIONS
|
||||
else//To properly clear as per clear screen.
|
||||
temp=null
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
if(is_eligible(M))
|
||||
L[avoid_assoc_duplicate_keys(M.real_name, areaindex)] = M
|
||||
|
||||
var/desc = tgui_input_list(user, "Please select a location to lock in.", "Locking Computer", L)
|
||||
var/desc = input("Please select a location to lock in.", "Locking Computer") as null|anything in L
|
||||
if(!user.canUseTopic(src, !hasSiliconAccessInArea(user), NO_DEXTERY)) //check if we are still around
|
||||
return
|
||||
target = L[desc]
|
||||
@@ -167,7 +167,7 @@
|
||||
if(!L.len)
|
||||
to_chat(user, "<span class='alert'>No active connected stations located.</span>")
|
||||
return
|
||||
var/desc = tgui_input_list(user, "Please select a station to lock in.", "Locking Computer", L)
|
||||
var/desc = input("Please select a station to lock in.", "Locking Computer") as null|anything in L
|
||||
if(!user.canUseTopic(src, !hasSiliconAccessInArea(user), NO_DEXTERY)) //again, check if we are still around
|
||||
return
|
||||
var/obj/machinery/teleport/station/target_station = L[desc]
|
||||
|
||||
@@ -101,7 +101,7 @@
|
||||
updateUsrDialog()
|
||||
return
|
||||
|
||||
var/obj/I = tgui_input_list(user, "Please choose which object to retrieve.","Object recovery", stored_packages)
|
||||
var/obj/I = input(user, "Please choose which object to retrieve.","Object recovery",null) as null|anything in stored_packages
|
||||
playsound(src, "terminal_type", 25, 0)
|
||||
if(!I)
|
||||
return
|
||||
@@ -158,12 +158,9 @@
|
||||
name = "Circuit board (Cryogenic Oversight Console)"
|
||||
build_path = "/obj/machinery/computer/cryopod"
|
||||
|
||||
/obj/machinery/computer/cryopod/contents_explosion()
|
||||
/obj/machinery/computer/cryopod/contents_explosion(severity, target, origin)
|
||||
return
|
||||
|
||||
/obj/machinery/computer/cryopod/contents_explosion()
|
||||
return //don't blow everyone's shit up.
|
||||
|
||||
/// The box
|
||||
/obj/item/storage/box/blue/cryostorage_items
|
||||
w_class = WEIGHT_CLASS_HUGE
|
||||
@@ -439,7 +436,7 @@
|
||||
to_chat(user, "<span class='danger'>You can't put [target] into [src]. They're conscious.</span>")
|
||||
return
|
||||
else if(target.client)
|
||||
if(tgui_alert(target,"Would you like to enter cryosleep?",,list("Yes","No")) == "No")
|
||||
if(alert(target,"Would you like to enter cryosleep?",,"Yes","No") == "No")
|
||||
return
|
||||
|
||||
var/generic_plsnoleave_message = " Please adminhelp before leaving the round, even if there are no administrators online!"
|
||||
@@ -462,7 +459,7 @@
|
||||
LAZYADD(caught_string, "Revolutionary")
|
||||
|
||||
if(caught_string)
|
||||
tgui_alert(target, "You're a [english_list(caught_string)]![generic_plsnoleave_message][addendum]")
|
||||
alert(target, "You're a [english_list(caught_string)]![generic_plsnoleave_message][addendum]")
|
||||
target.client.cryo_warned = world.time
|
||||
return
|
||||
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
rad_insulation = RAD_MEDIUM_INSULATION
|
||||
|
||||
var/static/list/airlock_overlays = list()
|
||||
|
||||
|
||||
/// sigh
|
||||
var/unelectrify_timerid
|
||||
|
||||
@@ -1212,7 +1212,7 @@
|
||||
else
|
||||
optionlist = list("Standard", "Public", "Engineering", "Atmospherics", "Security", "Command", "Medical", "Research", "Freezer", "Science", "Virology", "Mining", "Maintenance", "External", "External Maintenance")
|
||||
|
||||
var/paintjob = tgui_input_list(user, "Please select a paintjob for this airlock.", "", optionlist)
|
||||
var/paintjob = input(user, "Please select a paintjob for this airlock.") in optionlist
|
||||
if((!in_range(src, usr) && src.loc != usr) || !W.use_paint(user))
|
||||
return
|
||||
switch(paintjob)
|
||||
|
||||
@@ -407,7 +407,7 @@
|
||||
if(!stat) //Opens only powered doors.
|
||||
open() //Open everything!
|
||||
|
||||
/obj/machinery/door/ex_act(severity, target)
|
||||
/obj/machinery/door/ex_act(severity, target, origin)
|
||||
//if it blows up a wall it should blow up a door
|
||||
..(severity ? max(1, severity - 1) : 0, target)
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
/obj/machinery/door/password/emp_act(severity)
|
||||
return
|
||||
|
||||
/obj/machinery/door/password/ex_act(severity, target)
|
||||
/obj/machinery/door/password/ex_act(severity, target, origin)
|
||||
return
|
||||
|
||||
/obj/machinery/door/password/wave_ex_act(power, datum/wave_explosion/explosion, dir)
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
return ..()
|
||||
|
||||
//"BLAST" doors are obviously stronger than regular doors when it comes to BLASTS.
|
||||
/obj/machinery/door/poddoor/ex_act(severity, target)
|
||||
/obj/machinery/door/poddoor/ex_act(severity, target, origin)
|
||||
if(severity == 3)
|
||||
return
|
||||
..()
|
||||
|
||||
@@ -264,7 +264,7 @@ GLOBAL_LIST_EMPTY(network_holopads)
|
||||
if(A)
|
||||
LAZYADD(callnames[A], I)
|
||||
callnames -= get_area(src)
|
||||
var/result = tgui_input_list(usr, "Choose an area to call", "Holocall", sortNames(callnames))
|
||||
var/result = input(usr, "Choose an area to call", "Holocall") as null|anything in sortNames(callnames)
|
||||
if(QDELETED(usr) || !result || outgoing_call)
|
||||
return
|
||||
if(usr.loc == loc)
|
||||
|
||||
@@ -339,7 +339,7 @@
|
||||
pad.display_name = new_name
|
||||
if("remove")
|
||||
. = TRUE
|
||||
if(usr && tgui_alert(usr, "Are you sure?", "Unlink Launchpad", list("I'm Sure", "Abort")) != "Abort")
|
||||
if(usr && alert(usr, "Are you sure?", "Unlink Launchpad", "I'm Sure", "Abort") != "Abort")
|
||||
pad = null
|
||||
if("launch")
|
||||
sending = TRUE
|
||||
|
||||
@@ -245,7 +245,7 @@ Buildable meters
|
||||
disposable = FALSE
|
||||
|
||||
/obj/item/pipe/bluespace/attack_self(mob/user)
|
||||
var/new_name = tgui_input_text(user, "Enter identifier for bluespace pipe network", "bluespace pipe", bluespace_network_name)
|
||||
var/new_name = input(user, "Enter identifier for bluespace pipe network", "bluespace pipe", bluespace_network_name) as text|null
|
||||
if(!isnull(new_name))
|
||||
bluespace_network_name = new_name
|
||||
|
||||
|
||||
@@ -62,7 +62,7 @@ GLOBAL_LIST_EMPTY(allConsoles)
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/requests_console/update_icon_state()
|
||||
if(CHECK_BITFIELD(stat, NOPOWER))
|
||||
if((stat & NOPOWER))
|
||||
set_light(0)
|
||||
else
|
||||
set_light(1.4, 0.7, "#34D352")//green light
|
||||
@@ -72,7 +72,7 @@ GLOBAL_LIST_EMPTY(allConsoles)
|
||||
icon_state="req_comp_open"
|
||||
else
|
||||
icon_state="req_comp_rewired"
|
||||
else if(CHECK_BITFIELD(stat, NOPOWER))
|
||||
else if((stat & NOPOWER))
|
||||
if(icon_state != "req_comp_off")
|
||||
icon_state = "req_comp_off"
|
||||
else
|
||||
|
||||
@@ -193,11 +193,11 @@
|
||||
playsound(loc, 'sound/machines/click.ogg', 30, 1)
|
||||
|
||||
/obj/machinery/syndicatebomb/proc/settings(mob/user)
|
||||
var/new_timer = tgui_input_num(user, "Please set the timer.", "Timer", "[timer_set]")
|
||||
var/new_timer = input(user, "Please set the timer.", "Timer", "[timer_set]") as num
|
||||
if(in_range(src, user) && isliving(user)) //No running off and setting bombs from across the station
|
||||
timer_set = clamp(new_timer, minimum_timer, maximum_timer)
|
||||
loc.visible_message("<span class='notice'>[icon2html(src, viewers(src))] timer set for [timer_set] seconds.</span>")
|
||||
if(tgui_alert(user,"Would you like to start the countdown now?",,list("Yes","No")) == "Yes" && in_range(src, user) && isliving(user))
|
||||
if(alert(user,"Would you like to start the countdown now?",,"Yes","No") == "Yes" && in_range(src, user) && isliving(user))
|
||||
if(defused || active)
|
||||
if(defused)
|
||||
visible_message("<span class='warning'>[icon2html(src, viewers(src))] Device error: User intervention required.</span>")
|
||||
@@ -270,7 +270,7 @@
|
||||
var/range_light = 17
|
||||
var/range_flame = 17
|
||||
|
||||
/obj/item/bombcore/ex_act(severity, target) // Little boom can chain a big boom.
|
||||
/obj/item/bombcore/ex_act(severity, target, origin) // Little boom can chain a big boom.
|
||||
detonate()
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
The log console for viewing the entire telecomms
|
||||
The log console for viewing the entire telecomms
|
||||
network log
|
||||
*/
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
|
||||
var/network = "NULL" // the network to probe
|
||||
var/notice = ""
|
||||
var/universal_translate = FALSE // set to TRUE(1) if it can translate nonhuman speech
|
||||
var/universal_translate = FALSE // set to TRUE(1) if it can translate nonhuman speech
|
||||
|
||||
/obj/machinery/computer/telecomms/server/ui_interact(mob/user, datum/tgui/ui)
|
||||
ui = SStgui.try_update_ui(user, src, ui)
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
if(!LAZYLEN(SelectedMachine.log_entries))
|
||||
return data_out
|
||||
|
||||
|
||||
for(var/datum/comm_log_entry/C in SelectedMachine.log_entries)
|
||||
var/list/data = list()
|
||||
data["name"] = C.name //name of the file
|
||||
@@ -104,7 +104,7 @@
|
||||
data["message"] = C.parameters["message"]
|
||||
else
|
||||
data["message"] = "(unintelligible)"
|
||||
|
||||
|
||||
data_out["selected_logs"] += list(data)
|
||||
return data_out
|
||||
|
||||
@@ -133,7 +133,7 @@
|
||||
if(LAZYLEN(machinelist) > 0)
|
||||
notice = "FAILED: Cannot probe when buffer full"
|
||||
return
|
||||
|
||||
|
||||
for(var/obj/machinery/telecomms/T in GLOB.telecomms_list) //telecomms just went global!
|
||||
if(T.network == network)
|
||||
LAZYADD(machinelist, T)
|
||||
@@ -147,7 +147,7 @@
|
||||
SelectedMachine = T
|
||||
break
|
||||
if("delete")
|
||||
if(!src.allowed(usr) && !CHECK_BITFIELD(obj_flags, EMAGGED))
|
||||
if(!src.allowed(usr) && !(obj_flags & EMAGGED))
|
||||
to_chat(usr, "<span class='danger'>ACCESS DENIED.</span>")
|
||||
return
|
||||
|
||||
@@ -156,7 +156,7 @@
|
||||
return
|
||||
var/datum/comm_log_entry/D = locate(params["value"])
|
||||
if(!istype(D))
|
||||
notice = "NOTICE: Object not found"
|
||||
notice = "NOTICE: Object not found"
|
||||
return
|
||||
notice = "Deleted entry: [D.name]"
|
||||
LAZYREMOVE(SelectedMachine.log_entries, D)
|
||||
|
||||
@@ -94,9 +94,9 @@
|
||||
if(istype(S) && S.hack_software)
|
||||
data_out["canhack"] = TRUE
|
||||
|
||||
data_out["hacking"] = (hacking || CHECK_BITFIELD(obj_flags, EMAGGED))
|
||||
data_out["hacking"] = (hacking || (obj_flags & EMAGGED))
|
||||
if(hacking)
|
||||
data_out["borg"] = ((isAI(user) || iscyborg(user)) && !CHECK_BITFIELD(obj_flags, EMAGGED)) //even borgs can't read emag
|
||||
data_out["borg"] = ((isAI(user) || iscyborg(user)) && !(obj_flags & EMAGGED)) //even borgs can't read emag
|
||||
return data_out
|
||||
|
||||
data_out["servers"] = list()
|
||||
@@ -316,7 +316,7 @@
|
||||
// Get out list of viable PDAs
|
||||
var/list/obj/item/pda/sendPDAs = get_viewable_pdas()
|
||||
if(GLOB.PDAs && LAZYLEN(GLOB.PDAs) > 0)
|
||||
customrecepient = tgui_input_list(usr, "Select a PDA from the list.", "", sortNames(sendPDAs))
|
||||
customrecepient = input(usr, "Select a PDA from the list.") as null|anything in sortNames(sendPDAs)
|
||||
else
|
||||
customrecepient = null
|
||||
return
|
||||
@@ -324,7 +324,7 @@
|
||||
update_static_data(usr)
|
||||
|
||||
/obj/machinery/computer/message_monitor/attackby(obj/item/O, mob/living/user, params)
|
||||
if(O.tool_behaviour == TOOL_SCREWDRIVER && CHECK_BITFIELD(obj_flags, EMAGGED))
|
||||
if(O.tool_behaviour == TOOL_SCREWDRIVER && (obj_flags & EMAGGED))
|
||||
//Stops people from just unscrewing the monitor and putting it back to get the console working again.
|
||||
//Why this though, you should make it emag to a board level. (i wont do it)
|
||||
to_chat(user, "<span class='warning'>It is too hot to mess with!</span>")
|
||||
@@ -333,12 +333,12 @@
|
||||
|
||||
/obj/machinery/computer/message_monitor/emag_act(mob/user)
|
||||
. = ..()
|
||||
if(CHECK_BITFIELD(obj_flags, EMAGGED))
|
||||
if((obj_flags & EMAGGED))
|
||||
return
|
||||
if(isnull(linkedServer))
|
||||
to_chat(user, "<span class='notice'>A no server error appears on the screen.</span>")
|
||||
return
|
||||
ENABLE_BITFIELD(obj_flags, EMAGGED)
|
||||
obj_flags |= EMAGGED
|
||||
spark_system.set_up(5, 0, src)
|
||||
spark_system.start()
|
||||
var/obj/item/paper/monitorkey/MK = new(loc, linkedServer)
|
||||
@@ -366,7 +366,7 @@
|
||||
message = ""
|
||||
|
||||
/obj/machinery/computer/message_monitor/proc/UnmagConsole()
|
||||
DISABLE_BITFIELD(obj_flags, EMAGGED)
|
||||
obj_flags &= ~(EMAGGED)
|
||||
message = ""
|
||||
|
||||
/obj/machinery/computer/message_monitor/proc/ResetMessage()
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
links.Remove(T)
|
||||
if("freq")
|
||||
if("add" in params)
|
||||
var/newfreq = tgui_input_num(usr, "Specify a new frequency to filter (GHz). Decimals assigned automatically.", src.name, null)
|
||||
var/newfreq = input("Specify a new frequency to filter (GHz). Decimals assigned automatically.", src.name, null) as null|num
|
||||
if(!canAccess(usr) || !newfreq || isnull(newfreq))
|
||||
return
|
||||
|
||||
|
||||
@@ -84,6 +84,8 @@
|
||||
icon = 'icons/obj/clockwork_objects.dmi'
|
||||
hide = TRUE
|
||||
autolinkers = list("h_relay")
|
||||
flags_1 = DEFAULT_RICOCHET_1 | NODECONSTRUCT_1
|
||||
resistance_flags = INDESTRUCTIBLE
|
||||
|
||||
//Generic preset relay
|
||||
/obj/machinery/telecomms/relay/preset/auto
|
||||
|
||||
@@ -119,7 +119,7 @@ GLOBAL_LIST_EMPTY(telecomms_list)
|
||||
/obj/machinery/telecomms/proc/update_power()
|
||||
if(toggled)
|
||||
// if powered, on. if not powered, off. if too damaged, off
|
||||
if(CHECK_BITFIELD(stat, (BROKEN | NOPOWER | EMPED)))
|
||||
if(stat &(BROKEN | NOPOWER | EMPED))
|
||||
on = FALSE
|
||||
else
|
||||
on = TRUE
|
||||
@@ -137,11 +137,11 @@ GLOBAL_LIST_EMPTY(telecomms_list)
|
||||
|
||||
/obj/machinery/telecomms/emp_act(severity)
|
||||
. = ..()
|
||||
if(CHECK_BITFIELD(., EMP_PROTECT_SELF))
|
||||
if((. & EMP_PROTECT_SELF))
|
||||
return
|
||||
if(prob(severity))
|
||||
if(!CHECK_BITFIELD(stat, EMPED))
|
||||
ENABLE_BITFIELD(stat, EMPED)
|
||||
if(!(stat & EMPED))
|
||||
stat |= EMPED
|
||||
var/duration = severity * 35
|
||||
spawn(rand(duration - 20, duration + 20)) // Takes a long time for the machines to reboot.
|
||||
DISABLE_BITFIELD(stat, EMPED)
|
||||
stat &= ~(EMPED)
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
to_chat(user, "You have a very great feeling about this!")
|
||||
else
|
||||
to_chat(user, "The Wish Granter awaits your wish.")
|
||||
var/wish = tgui_input_list(user, "You want...","Wish", list("Power","Wealth","The Station To Disappear","To Kill","Nothing"))
|
||||
var/wish = input("You want...","Wish") as null|anything in list("Power","Wealth","The Station To Disappear","To Kill","Nothing")
|
||||
switch(wish)
|
||||
if("Power") //Gives infinite power in exchange for infinite power going off in your face!
|
||||
if(charges <= 0)
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/critfail()
|
||||
..()
|
||||
if(reagents)
|
||||
DISABLE_BITFIELD(reagents.reagents_holder_flags, NO_REACT)
|
||||
reagents.reagents_holder_flags &= ~(NO_REACT)
|
||||
|
||||
/obj/item/mecha_parts/mecha_equipment/medical/syringe_gun/can_attach(obj/mecha/medical/M)
|
||||
if(..())
|
||||
|
||||
@@ -407,7 +407,7 @@
|
||||
return
|
||||
if(href_list["cut"])
|
||||
if(cable && cable.amount)
|
||||
var/m = round(tgui_input_num(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)), 1)
|
||||
var/m = round(input(chassis.occupant,"Please specify the length of cable to cut","Cut cable",min(cable.amount,30)) as num, 1)
|
||||
m = min(m, cable.amount)
|
||||
if(m)
|
||||
use_cable(m)
|
||||
|
||||
@@ -111,23 +111,23 @@
|
||||
mecha_log_message("Hit by projectile. Type: [Proj.name]([Proj.flag]).", color="red")
|
||||
. = ..()
|
||||
|
||||
/obj/mecha/ex_act(severity, target)
|
||||
/obj/mecha/ex_act(severity, target, origin)
|
||||
mecha_log_message("Affected by explosion of severity: [severity].", color="red")
|
||||
if(prob(deflect_chance))
|
||||
severity++
|
||||
log_append_to_last("Armor saved, changing severity to [severity].")
|
||||
. = ..()
|
||||
|
||||
/obj/mecha/contents_explosion(severity, target)
|
||||
/obj/mecha/contents_explosion(severity, target, origin)
|
||||
severity++
|
||||
for(var/X in equipment)
|
||||
var/obj/item/mecha_parts/mecha_equipment/ME = X
|
||||
ME.ex_act(severity,target)
|
||||
ME.ex_act(severity, target, origin)
|
||||
for(var/Y in trackers)
|
||||
var/obj/item/mecha_parts/mecha_tracking/MT = Y
|
||||
MT.ex_act(severity, target)
|
||||
MT.ex_act(severity, target, origin)
|
||||
if(occupant)
|
||||
occupant.ex_act(severity,target)
|
||||
occupant.ex_act(severity, target, origin)
|
||||
|
||||
/obj/mecha/handle_atom_del(atom/A)
|
||||
if(A == occupant)
|
||||
|
||||
@@ -246,7 +246,7 @@
|
||||
output_maintenance_dialog(id_card, usr)
|
||||
|
||||
if(href_list["set_internal_tank_valve"] && state >=1)
|
||||
var/new_pressure = tgui_input_num(usr,"Input new output pressure","Pressure setting",internal_tank_valve)
|
||||
var/new_pressure = input(usr,"Input new output pressure","Pressure setting",internal_tank_valve) as num
|
||||
if(new_pressure)
|
||||
internal_tank_valve = new_pressure
|
||||
to_chat(usr, "The internal pressure valve has been set to [internal_tank_valve]kPa.")
|
||||
|
||||
@@ -144,7 +144,7 @@
|
||||
return
|
||||
|
||||
|
||||
/obj/mecha/working/ripley/contents_explosion(severity, target)
|
||||
/obj/mecha/working/ripley/contents_explosion(severity, target, origin)
|
||||
for(var/X in cargo)
|
||||
var/obj/O = X
|
||||
if(prob(30/severity))
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
if(act_intent == INTENT_HELP || act_intent == INTENT_GRAB)
|
||||
return
|
||||
if(buckled_mobs.len > 1)
|
||||
var/unbuckled = tgui_input_list(user, "Who do you wish to unbuckle?","Unbuckle Who?", buckled_mobs)
|
||||
var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs
|
||||
if(user_unbuckle_mob(unbuckled,user))
|
||||
return 1
|
||||
else
|
||||
@@ -161,6 +161,6 @@
|
||||
else if(length(buckled_mobs) == 1)
|
||||
return user_unbuckle_mob(buckled_mobs[1], user)
|
||||
else
|
||||
var/unbuckled = tgui_input_list(user, "Who do you wish to unbuckle?","Unbuckle Who?", buckled_mobs)
|
||||
var/unbuckled = input(user, "Who do you wish to unbuckle?","Unbuckle Who?") as null|mob in buckled_mobs
|
||||
return user_unbuckle_mob(unbuckled, user)
|
||||
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
/obj/effect/anomaly/proc/detonate()
|
||||
return
|
||||
|
||||
/obj/effect/anomaly/ex_act(severity, target)
|
||||
/obj/effect/anomaly/ex_act(severity, target, origin)
|
||||
if(severity == 1)
|
||||
qdel(src)
|
||||
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
STOP_PROCESSING(SSfastprocess, src)
|
||||
. = ..()
|
||||
|
||||
/obj/effect/countdown/ex_act(severity, target) //immune to explosions
|
||||
/obj/effect/countdown/ex_act(severity, target, origin) //immune to explosions
|
||||
return
|
||||
|
||||
/obj/effect/countdown/syndicatebomb
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user