mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-26 10:12:17 +00:00
Reduce lines by removing blank lines added by PJ's script
This commit is contained in:
@@ -154,7 +154,6 @@ Pipelines + Other Objects -> Pipe network
|
||||
var/turf/T = get_turf(src)
|
||||
if (level == 1 && isturf(T) && T.intact)
|
||||
to_chat(user, "<span class='danger'>You must remove the plating first.</span>")
|
||||
|
||||
return 1
|
||||
var/datum/gas_mixture/int_air = return_air()
|
||||
var/datum/gas_mixture/env_air = loc.return_air()
|
||||
@@ -165,10 +164,8 @@ Pipelines + Other Objects -> Pipe network
|
||||
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
|
||||
|
||||
if (internal_pressure > 2*ONE_ATMOSPHERE)
|
||||
to_chat(user, "<span class='warning'>As you begin unwrenching \the [src] a gush of air blows in your face... maybe you should reconsider?</span>")
|
||||
|
||||
unsafe_wrenching = TRUE //Oh dear oh dear
|
||||
|
||||
if (do_after(user, 40, target = src) && isnull(gcDestroyed))
|
||||
|
||||
@@ -135,7 +135,6 @@
|
||||
src.add_fingerprint(usr)
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='alert'>Access denied.</span>")
|
||||
|
||||
return
|
||||
usr.set_machine(src)
|
||||
interact(user)
|
||||
@@ -160,7 +159,6 @@
|
||||
return ..()
|
||||
if (on)
|
||||
to_chat(user, "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>")
|
||||
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
@@ -158,7 +158,6 @@ Thus, the two variables affect pump operation are set in New():
|
||||
src.add_fingerprint(usr)
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='alert'>Access denied.</span>")
|
||||
|
||||
return
|
||||
usr.set_machine(src)
|
||||
interact(user)
|
||||
@@ -190,6 +189,5 @@ Thus, the two variables affect pump operation are set in New():
|
||||
return ..()
|
||||
if (!(stat & NOPOWER) && on)
|
||||
to_chat(user, "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>")
|
||||
|
||||
return 1
|
||||
return ..()
|
||||
@@ -75,7 +75,6 @@
|
||||
return
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='alert'>Access denied.</span>")
|
||||
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -148,7 +148,6 @@ Thus, the two variables affect pump operation are set in New():
|
||||
src.add_fingerprint(usr)
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='alert'>Access denied.</span>")
|
||||
|
||||
return
|
||||
usr.set_machine(src)
|
||||
interact(user)
|
||||
@@ -180,6 +179,5 @@ Thus, the two variables affect pump operation are set in New():
|
||||
return ..()
|
||||
if (!(stat & NOPOWER) && on)
|
||||
to_chat(user, "<span class='alert'>You cannot unwrench this [src], turn it off first.</span>")
|
||||
|
||||
return 1
|
||||
return ..()
|
||||
@@ -105,12 +105,10 @@
|
||||
var/datum/gas_mixture/env_air = loc.return_air()
|
||||
if ((int_pressure - env_air.return_pressure()) > 2*ONE_ATMOSPHERE)
|
||||
to_chat(user, "<span class='danger'>You cannot unwrench [src], it is too exerted due to internal pressure.</span>")
|
||||
|
||||
add_fingerprint(user)
|
||||
return 1
|
||||
playsound(src.loc, 'sound/items/Ratchet.ogg', 50, 1)
|
||||
to_chat(user, "<span class='notice'>You begin to unfasten \the [src]...</span>")
|
||||
|
||||
if(do_after(user, 40, target = src))
|
||||
user.visible_message( \
|
||||
"[user] unfastens \the [src].", \
|
||||
|
||||
@@ -154,7 +154,6 @@ Filter types:
|
||||
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='alert'>Access denied.</span>")
|
||||
|
||||
return
|
||||
|
||||
var/dat
|
||||
|
||||
@@ -115,7 +115,6 @@
|
||||
src.add_fingerprint(usr)
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='alert'>Access denied.</span>")
|
||||
|
||||
return
|
||||
usr.set_machine(src)
|
||||
var/dat = {"<b>Power: </b><a href='?src=\ref[src];power=1'>[on?"On":"Off"]</a><br>
|
||||
|
||||
@@ -136,7 +136,6 @@
|
||||
return
|
||||
if(!src.allowed(user))
|
||||
to_chat(user, "<span class='alert'>Access denied.</span>")
|
||||
|
||||
return
|
||||
..()
|
||||
|
||||
|
||||
@@ -172,7 +172,6 @@
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if (!(stat & NOPOWER) && on)
|
||||
to_chat(user, "<span class='danger'>You cannot unwrench this [src], turn if off first.</span>")
|
||||
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
if(istype(W, /obj/item/weapon/wrench))
|
||||
if(connected_device)
|
||||
to_chat(user, "<span class='danger'>You cannot unwrench this [src], detach [connected_device] first.</span>")
|
||||
|
||||
return 1
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -323,7 +323,6 @@
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if (WT.remove_fuel(0,user))
|
||||
to_chat(user, "<span class='notice'>Now welding the vent.</span>")
|
||||
|
||||
if(do_after(user, 20, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
playsound(src.loc, 'sound/items/Welder2.ogg', 50, 1)
|
||||
@@ -338,22 +337,18 @@
|
||||
else
|
||||
|
||||
to_chat(user, "<span class='notice'>The welding tool needs to be on to start this task.</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
|
||||
|
||||
return 1
|
||||
if(istype(W, /obj/item/weapon/screwdriver))
|
||||
if(!welded)
|
||||
if(open)
|
||||
to_chat(user, "<span class='notice'> Now closing the vent.</span>")
|
||||
|
||||
if (do_after(user, 20, target = src))
|
||||
open = 0
|
||||
user.visible_message("[user] screwdrivers the vent shut.", "You screwdriver the vent shut.", "You hear a screwdriver.")
|
||||
else
|
||||
to_chat(user, "<span class='notice'> Now opening the vent.</span>")
|
||||
|
||||
if (do_after(user, 20, target = src))
|
||||
open = 1
|
||||
user.visible_message("[user] screwdrivers the vent shut.", "You screwdriver the vent shut.", "You hear a screwdriver.")
|
||||
@@ -365,10 +360,8 @@
|
||||
W.forceMove(src)
|
||||
if(!open)
|
||||
to_chat(user, "You can't shove that down there when it is closed")
|
||||
|
||||
else
|
||||
to_chat(user, "The vent is welded.")
|
||||
|
||||
return
|
||||
if(istype(W, /obj/item/device/multitool))
|
||||
update_multitool_menu(user)
|
||||
@@ -376,7 +369,6 @@
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
if (!(stat & NOPOWER) && on)
|
||||
to_chat(user, "<span class='danger'>You cannot unwrench this [src], turn it off first.</span>")
|
||||
|
||||
return 1
|
||||
|
||||
return ..()
|
||||
@@ -393,7 +385,6 @@
|
||||
if(welded)
|
||||
to_chat(user, "It seems welded shut.")
|
||||
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_pump/power_change()
|
||||
var/old_stat = stat
|
||||
..()
|
||||
|
||||
@@ -60,7 +60,6 @@
|
||||
if(welded)
|
||||
to_chat(user, "It seems welded shut.")
|
||||
|
||||
|
||||
/obj/machinery/atmospherics/unary/vent_scrubber/auto_use_power()
|
||||
if(!powered(power_channel))
|
||||
return 0
|
||||
@@ -374,7 +373,6 @@
|
||||
var/obj/item/weapon/weldingtool/WT = W
|
||||
if (WT.remove_fuel(0,user))
|
||||
to_chat(user, "<span class='notice'>Now welding the scrubber.</span>")
|
||||
|
||||
if(do_after(user, 20, target = src))
|
||||
if(!src || !WT.isOn()) return
|
||||
playsound(get_turf(src), 'sound/items/Welder2.ogg', 50, 1)
|
||||
@@ -388,11 +386,9 @@
|
||||
update_icon()
|
||||
else
|
||||
to_chat(user, "<span class='notice'>The welding tool needs to be on to start this task.</span>")
|
||||
|
||||
return 1
|
||||
else
|
||||
to_chat(user, "<span class='notice'>You need more welding fuel to complete this task.</span>")
|
||||
|
||||
return 1
|
||||
if(istype(W, /obj/item/device/multitool))
|
||||
update_multitool_menu(user)
|
||||
@@ -400,7 +396,6 @@
|
||||
if (istype(W, /obj/item/weapon/wrench))
|
||||
if (!(stat & NOPOWER) && on)
|
||||
to_chat(user, "<span class='danger'>You cannot unwrench this [src], turn it off first.</span>")
|
||||
|
||||
return 1
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -40,7 +40,6 @@
|
||||
var/extension = copytext(path,-4,0)
|
||||
if( !fexists(path) || !(extension in valid_extensions) )
|
||||
to_chat(src, "<font color='red'>Error: browse_files(): File not found/Invalid file([path]).</font>")
|
||||
|
||||
return
|
||||
|
||||
return path
|
||||
@@ -55,7 +54,6 @@
|
||||
var/time_to_wait = fileaccess_timer - world.time
|
||||
if(time_to_wait > 0)
|
||||
to_chat(src, "<font color='red'>Error: file_spam_check(): Spam. Please wait [round(time_to_wait/10)] seconds.</font>")
|
||||
|
||||
return 1
|
||||
fileaccess_timer = world.time + FTPDELAY
|
||||
return 0
|
||||
|
||||
@@ -488,21 +488,16 @@ proc/pollCandidates(var/Question, var/be_special_type, var/antag_age_check = 0,
|
||||
spawn(0)
|
||||
to_chat(G, 'sound/misc/notice2.ogg')//Alerting them to their consideration
|
||||
|
||||
|
||||
switch(alert(G,Question,"Please answer in [poll_time/10] seconds!","Yes","No"))
|
||||
if("Yes")
|
||||
to_chat(G, "<span class='notice'>Choice registered: Yes.</span>")
|
||||
|
||||
if((world.time-time_passed)>poll_time)//If more than 30 game seconds passed.
|
||||
to_chat(G, "<span class='danger'>Sorry, you were too late for the consideration!</span>")
|
||||
|
||||
to_chat(G, 'sound/machines/buzz-sigh.ogg')
|
||||
|
||||
return
|
||||
candidates += G
|
||||
if("No")
|
||||
to_chat(G, "<span class='danger'>Choice registered: No.</span>")
|
||||
|
||||
return
|
||||
else
|
||||
return
|
||||
|
||||
@@ -59,7 +59,6 @@
|
||||
for(var/t in L)
|
||||
. += " has: [t]\n"
|
||||
to_chat(world, .)
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -169,7 +169,6 @@ mob
|
||||
set name = "2. Output Icon"
|
||||
to_chat(src, "Icon is: \icon[getFlatIcon(src)]")
|
||||
|
||||
|
||||
Label_Icon()
|
||||
set name = "3. Label Icon"
|
||||
// Give it a name for the cache
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
to_chat(C, "DEBUG: [text]")
|
||||
|
||||
|
||||
|
||||
/proc/log_game(text)
|
||||
if (config.log_game)
|
||||
diary << "\[[time_stamp()]]GAME: [text]"
|
||||
@@ -92,5 +91,4 @@
|
||||
*/
|
||||
/proc/log_startup_progress(var/message)
|
||||
to_chat(world, "<span class='danger'>[message]</span>")
|
||||
|
||||
log_to_dd(message)
|
||||
@@ -240,7 +240,6 @@ var/syndicate_code_response//Code response for traitors.
|
||||
set category = "Debug"
|
||||
|
||||
to_chat(world, "\red Code Phrase is: \black [generate_code_phrase()]")
|
||||
|
||||
return
|
||||
|
||||
|
||||
|
||||
@@ -252,7 +252,6 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
var/total_moles = air_contents.total_moles()
|
||||
|
||||
to_chat(user, "<span class='notice'>Results of analysis of \icon[icon] [target].</span>")
|
||||
|
||||
if(total_moles>0)
|
||||
var/o2_concentration = air_contents.oxygen/total_moles
|
||||
var/n2_concentration = air_contents.nitrogen/total_moles
|
||||
@@ -262,23 +261,15 @@ Turf and target are seperate in case you want to teleport some distance from a t
|
||||
var/unknown_concentration = 1-(o2_concentration+n2_concentration+co2_concentration+plasma_concentration)
|
||||
|
||||
to_chat(user, "<span class='notice'>Pressure: [round(pressure,0.1)] kPa</span>")
|
||||
|
||||
to_chat(user, "<span class='notice'>Nitrogen: [round(n2_concentration*100)] %</span>")
|
||||
|
||||
to_chat(user, "<span class='notice'>Oxygen: [round(o2_concentration*100)] %</span>")
|
||||
|
||||
to_chat(user, "<span class='notice'>CO2: [round(co2_concentration*100)] %</span>")
|
||||
|
||||
to_chat(user, "<span class='notice'>Plasma: [round(plasma_concentration*100)] %</span>")
|
||||
|
||||
if(unknown_concentration>0.01)
|
||||
to_chat(user, "<span class='danger'>Unknown: [round(unknown_concentration*100)] %</span>")
|
||||
|
||||
to_chat(user, "<span class='notice'>Temperature: [round(air_contents.temperature-T0C)] °C</span>")
|
||||
|
||||
else
|
||||
to_chat(user, "<span class='notice'>[target] is empty!</span>")
|
||||
|
||||
return
|
||||
|
||||
//Picks a string of symbols to display as the law number for hacked or ion laws
|
||||
|
||||
@@ -333,11 +333,9 @@
|
||||
var/obj/structure/cable/cable = locate() in T
|
||||
if(!cable || !istype(cable))
|
||||
to_chat(src, "<span class='warning'>There is no cable here to power the gloves.</span>")
|
||||
|
||||
return
|
||||
if(world.time < G.next_shock)
|
||||
to_chat(src, "<span class='warning'>[G] aren't ready to shock again!</span>")
|
||||
|
||||
return
|
||||
src.visible_message("<span class='warning'>[name] fires an arc of electricity!</span>", \
|
||||
"<span class='warning'>You fire an arc of electricity!</span>", \
|
||||
|
||||
@@ -28,12 +28,10 @@
|
||||
/obj/item/weapon/badminBook/attack_self(mob/living/user as mob)
|
||||
if(user.middleClickOverride)
|
||||
to_chat(user, "<span class='warning'>You try to draw power from the [src], but you cannot hold the power at this time!</span>")
|
||||
|
||||
return
|
||||
user.middleClickOverride = clickBehavior
|
||||
to_chat(user, "<span class='notice'>You draw a bit of power from the [src], you can use <b>middle click</b> or <b>alt click</b> to release the power!</span>")
|
||||
|
||||
|
||||
/datum/middleClickOverride/badminClicker
|
||||
var/summon_path = /obj/item/weapon/reagent_containers/food/snacks/cookie
|
||||
|
||||
@@ -41,6 +39,5 @@
|
||||
var/atom/movable/newObject = new summon_path
|
||||
newObject.loc = get_turf(A)
|
||||
to_chat(user, "<span class='notice'>You release the power you had stored up, summoning \a [newObject.name]! </span>")
|
||||
|
||||
usr.loc.visible_message("<span class='notice'>[user] waves \his hand and summons \a [newObject.name]</span>")
|
||||
..()
|
||||
@@ -54,7 +54,6 @@
|
||||
aiCamera.captureimage(A, usr)
|
||||
else
|
||||
to_chat(src, "<span class='userdanger'>Your camera isn't functional.</span>")
|
||||
|
||||
return
|
||||
|
||||
/*
|
||||
|
||||
@@ -281,13 +281,11 @@
|
||||
owner.research_scanner = 1
|
||||
to_chat(owner, "<span class='notice'> Research analyzer is now active.</span>")
|
||||
|
||||
|
||||
/datum/action/scan_mode/Deactivate()
|
||||
active = 0
|
||||
owner.research_scanner = 0
|
||||
to_chat(owner, "<span class='notice'> Research analyzer deactivated.</span>")
|
||||
|
||||
|
||||
/datum/action/scan_mode/Grant(mob/living/T)
|
||||
devices += 1
|
||||
..(T)
|
||||
|
||||
@@ -196,7 +196,5 @@ datum/hud/New(mob/owner)
|
||||
|
||||
else
|
||||
to_chat(usr, "\red Inventory hiding is currently only supported for human mobs, sorry.")
|
||||
|
||||
else
|
||||
to_chat(usr, "\red This mob type does not use a HUD.")
|
||||
|
||||
|
||||
@@ -247,12 +247,10 @@
|
||||
|
||||
if(!r.module)
|
||||
to_chat(usr, "\red No module selected")
|
||||
|
||||
return
|
||||
|
||||
if(!r.module.modules)
|
||||
to_chat(usr, "\red Selected module has no modules to select")
|
||||
|
||||
return
|
||||
|
||||
if(!r.robot_modules_background)
|
||||
|
||||
@@ -96,7 +96,6 @@
|
||||
if(C.internal)
|
||||
C.internal = null
|
||||
to_chat(C, "<span class='notice'>No longer running on internals.</span>")
|
||||
|
||||
if(C.internals)
|
||||
C.internals.icon_state = "internal0"
|
||||
else
|
||||
@@ -110,7 +109,6 @@
|
||||
|
||||
if(no_mask)
|
||||
to_chat(C, "<span class='notice'>You are not wearing a suitable mask or helmet.</span>")
|
||||
|
||||
return 1
|
||||
else
|
||||
var/list/nicename = null
|
||||
@@ -192,7 +190,6 @@
|
||||
|
||||
if(best)
|
||||
to_chat(C, "<span class='notice'>You are now running on internals from [tankcheck[best]] [from] your [nicename[best]].</span>")
|
||||
|
||||
C.internal = tankcheck[best]
|
||||
|
||||
|
||||
@@ -202,7 +199,6 @@
|
||||
else
|
||||
to_chat(C, "<span class='notice'>You don't have a[breathes=="oxygen" ? "n oxygen" : addtext(" ",breathes)] tank.</span>")
|
||||
|
||||
|
||||
/obj/screen/mov_intent
|
||||
name = "run/walk toggle"
|
||||
icon = 'icons/mob/screen1_midnight.dmi'
|
||||
@@ -213,7 +209,6 @@
|
||||
var/mob/living/carbon/C = usr
|
||||
if(C.legcuffed)
|
||||
to_chat(C, "<span class='notice'>You are legcuffed! You cannot run until you get [C.legcuffed] removed!</span>")
|
||||
|
||||
C.m_intent = "walk" //Just incase
|
||||
C.hud_used.move_intent.icon_state = "walking"
|
||||
return 1
|
||||
@@ -376,7 +371,6 @@
|
||||
return
|
||||
if(!istype(usr.get_active_hand(), /obj/item/weapon/gun))
|
||||
to_chat(usr, "You need your gun in your active hand to do that!")
|
||||
|
||||
return
|
||||
usr.client.AllowTargetClick()
|
||||
gun_click_time = world.time
|
||||
|
||||
@@ -18,7 +18,6 @@
|
||||
if(stat == DEAD && !isnull(butcher_results)) //can we butcher it?
|
||||
if(istype(I, /obj/item/weapon/kitchen/knife))
|
||||
to_chat(user, "<span class='notice'>You begin to butcher [src]...</span>")
|
||||
|
||||
playsound(loc, 'sound/weapons/slice.ogg', 50, 1, -1)
|
||||
if(do_mob(user, src, 80))
|
||||
harvest(user)
|
||||
@@ -81,7 +80,6 @@
|
||||
var/mob/living/carbon/slime/slime = M
|
||||
if(prob(25))
|
||||
to_chat(user, "\red [src] passes right through [M]!")
|
||||
|
||||
return
|
||||
|
||||
if(power > 0)
|
||||
@@ -168,7 +166,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
return M:attacked_by(src, user, def_zone) //make sure to return whether we have hit or miss
|
||||
else
|
||||
@@ -188,7 +185,6 @@
|
||||
if (!(RESIST_COLD in M.mutations))
|
||||
M.take_organ_damage(0, power)
|
||||
to_chat(M, "Aargh it burns!")
|
||||
|
||||
M.updatehealth()
|
||||
add_fingerprint(user)
|
||||
return 1
|
||||
|
||||
@@ -63,10 +63,8 @@
|
||||
else
|
||||
to_chat(user, "[src] has no destination.")
|
||||
|
||||
|
||||
/obj/machinery/gateway/centeraway/attack_ghost(mob/user as mob)
|
||||
if(stationgate)
|
||||
user.forceMove(stationgate.loc)
|
||||
else
|
||||
to_chat(user, "[src] has no destination.")
|
||||
|
||||
|
||||
@@ -140,7 +140,6 @@
|
||||
|
||||
// to_chat(world, "according to dblclick(), t5 is [t5]")
|
||||
|
||||
|
||||
// ------- ACTUALLY DETERMINING STUFF -------
|
||||
if (((t5 || (W && (W.flags & USEDELAY))) && !( istype(src, /obj/screen) )))
|
||||
|
||||
|
||||
@@ -19,18 +19,14 @@
|
||||
switch(hardsuit_click_mode)
|
||||
if(MIDDLE_CLICK)
|
||||
to_chat(src, "Hardsuit activation mode set to middle-click.")
|
||||
|
||||
if(ALT_CLICK)
|
||||
to_chat(src, "Hardsuit activation mode set to alt-click.")
|
||||
|
||||
if(CTRL_CLICK)
|
||||
to_chat(src, "Hardsuit activation mode set to control-click.")
|
||||
|
||||
else
|
||||
// should never get here, but just in case:
|
||||
log_debug("Bad hardsuit click mode: [hardsuit_click_mode] - expected 0 to [MAX_HARDSUIT_CLICK_MODE]")
|
||||
to_chat(src, "Somehow you bugged the system. Setting your hardsuit mode to middle-click.")
|
||||
|
||||
hardsuit_click_mode = MIDDLE_CLICK
|
||||
|
||||
/mob/living/MiddleClickOn(atom/A)
|
||||
|
||||
@@ -112,7 +112,6 @@ var/const/tk_maxrange = 15
|
||||
d = max(d,get_dist(user,focus)) // whichever is further
|
||||
if(d > tk_maxrange)
|
||||
to_chat(user, "<span class='warning'>Your mind won't reach that far.</span>")
|
||||
|
||||
return
|
||||
|
||||
if(!focus)
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
if(!istype(C.mob, /mob/dead))
|
||||
log_access("AFK: [key_name(C)]")
|
||||
to_chat(C, "<SPAN CLASS='warning'>You have been inactive for more than 10 minutes and have been disconnected.</SPAN>")
|
||||
|
||||
del(C)
|
||||
|
||||
SCHECK
|
||||
|
||||
@@ -93,36 +93,29 @@ var/const/CALL_SHUTTLE_REASON_LENGTH = 12
|
||||
|
||||
if(world.time - round_start_time < config.shuttle_refuel_delay)
|
||||
to_chat(user, "The emergency shuttle is refueling. Please wait another [abs(round(((world.time - round_start_time) - config.shuttle_refuel_delay)/600))] minutes before trying again.")
|
||||
|
||||
return
|
||||
|
||||
switch(emergency.mode)
|
||||
if(SHUTTLE_RECALL)
|
||||
to_chat(user, "The emergency shuttle may not be called while returning to Centcom.")
|
||||
|
||||
return
|
||||
if(SHUTTLE_CALL)
|
||||
to_chat(user, "The emergency shuttle is already on its way.")
|
||||
|
||||
return
|
||||
if(SHUTTLE_DOCKED)
|
||||
to_chat(user, "The emergency shuttle is already here.")
|
||||
|
||||
return
|
||||
if(SHUTTLE_ESCAPE)
|
||||
to_chat(user, "The emergency shuttle is moving away to a safe distance.")
|
||||
|
||||
return
|
||||
if(SHUTTLE_STRANDED)
|
||||
to_chat(user, "The emergency shuttle has been disabled by Centcom.")
|
||||
|
||||
return
|
||||
|
||||
call_reason = trim(html_encode(call_reason))
|
||||
|
||||
if(length(call_reason) < CALL_SHUTTLE_REASON_LENGTH)
|
||||
to_chat(user, "You must provide a reason.")
|
||||
|
||||
return
|
||||
|
||||
var/area/signal_origin = get_area(user)
|
||||
|
||||
@@ -689,7 +689,6 @@
|
||||
for (var/T in subtypesof(/datum/game_mode))
|
||||
var/datum/game_mode/M = new T()
|
||||
// to_chat(world, "DEBUG: [T], tag=[M.config_tag], prob=[probabilities[M.config_tag]]")
|
||||
|
||||
if (!(M.config_tag in modes))
|
||||
qdel(M)
|
||||
continue
|
||||
@@ -699,5 +698,4 @@
|
||||
if (M.can_start())
|
||||
runnable_modes[M] = probabilities[M.config_tag]
|
||||
// to_chat(world, "DEBUG: runnable_mode\[[runnable_modes.len]\] = [M.config_tag]")
|
||||
|
||||
return runnable_modes
|
||||
|
||||
@@ -26,7 +26,6 @@ datum/controller/vote
|
||||
// 3 is GAME_STATE_PLAYING, but that #define is undefined for some reason
|
||||
if(mode == "gamemode" && ticker.current_state >= 2)
|
||||
to_chat(world, "<b>Voting aborted due to game start.</b>")
|
||||
|
||||
src.reset()
|
||||
return
|
||||
|
||||
@@ -64,7 +63,6 @@ datum/controller/vote
|
||||
auto_muted = 0
|
||||
config.ooc_allowed = !( config.ooc_allowed )
|
||||
to_chat(world, "<b>The OOC channel has been automatically enabled due to vote end.</b>")
|
||||
|
||||
log_admin("OOC was toggled automatically due to vote end.")
|
||||
message_admins("OOC has been toggled on automatically.")
|
||||
|
||||
@@ -106,7 +104,6 @@ datum/controller/vote
|
||||
factor = 1.4
|
||||
choices["Initiate Crew Transfer"] = round(choices["Initiate Crew Transfer"] * factor)
|
||||
to_chat(world, "<font color='purple'>Crew Transfer Factor: [factor]</font>")
|
||||
|
||||
greatest_votes = max(choices["Initiate Crew Transfer"], choices["Continue The Round"])
|
||||
|
||||
|
||||
@@ -144,7 +141,6 @@ datum/controller/vote
|
||||
text += "<b>Vote Result: Inconclusive - No Votes!</b>"
|
||||
log_vote(text)
|
||||
to_chat(world, "<font color='purple'>[text]</font>")
|
||||
|
||||
return .
|
||||
|
||||
proc/result()
|
||||
@@ -165,7 +161,6 @@ datum/controller/vote
|
||||
if(!going)
|
||||
going = 1
|
||||
to_chat(world, "<font color='red'><b>The round will start soon.</b></font>")
|
||||
|
||||
if("crew_transfer")
|
||||
if(. == "Initiate Crew Transfer")
|
||||
init_shift_change(null, 1)
|
||||
@@ -232,40 +227,32 @@ datum/controller/vote
|
||||
|
||||
log_vote(text)
|
||||
to_chat(world, "<font color='purple'><b>[text]</b>\nType vote to place your votes.\nYou have [config.vote_period/10] seconds to vote.</font>")
|
||||
|
||||
switch(vote_type)
|
||||
if("crew_transfer")
|
||||
to_chat(world, sound('sound/ambience/alarm4.ogg'))
|
||||
|
||||
if("gamemode")
|
||||
to_chat(world, sound('sound/ambience/alarm4.ogg'))
|
||||
|
||||
if("custom")
|
||||
to_chat(world, sound('sound/ambience/alarm4.ogg'))
|
||||
|
||||
if(mode == "gamemode" && going)
|
||||
going = 0
|
||||
to_chat(world, "<font color='red'><b>Round start has been delayed.</b></font>")
|
||||
|
||||
if(mode == "crew_transfer" && config.ooc_allowed)
|
||||
auto_muted = 1
|
||||
config.ooc_allowed = !( config.ooc_allowed )
|
||||
to_chat(world, "<b>The OOC channel has been automatically disabled due to a crew transfer vote.</b>")
|
||||
|
||||
log_admin("OOC was toggled automatically due to crew_transfer vote.")
|
||||
message_admins("OOC has been toggled off automatically.")
|
||||
if(mode == "gamemode" && config.ooc_allowed)
|
||||
auto_muted = 1
|
||||
config.ooc_allowed = !( config.ooc_allowed )
|
||||
to_chat(world, "<b>The OOC channel has been automatically disabled due to the gamemode vote.</b>")
|
||||
|
||||
log_admin("OOC was toggled automatically due to gamemode vote.")
|
||||
message_admins("OOC has been toggled off automatically.")
|
||||
if(mode == "custom" && config.ooc_allowed)
|
||||
auto_muted = 1
|
||||
config.ooc_allowed = !( config.ooc_allowed )
|
||||
to_chat(world, "<b>The OOC channel has been automatically disabled due to a custom vote.</b>")
|
||||
|
||||
log_admin("OOC was toggled automatically due to custom vote.")
|
||||
message_admins("OOC has been toggled off automatically.")
|
||||
|
||||
|
||||
@@ -229,11 +229,9 @@ var/global/const/base_law_type = /datum/ai_laws/nanotrasen
|
||||
continue
|
||||
if(law == zeroth_law)
|
||||
to_chat(who, "<span class='danger'>[law.get_index()]. [law.law]</span>")
|
||||
|
||||
else
|
||||
to_chat(who, "[law.get_index()]. [law.law]")
|
||||
|
||||
|
||||
/********************
|
||||
* Stating Laws *
|
||||
********************/
|
||||
|
||||
@@ -156,7 +156,6 @@
|
||||
// to_chat(world, "OnClose [user]: [windowid] : ["on-close=\".windowclose [param]\""]")
|
||||
|
||||
|
||||
|
||||
// the on-close client verb
|
||||
// called when a browser popup window is closed after registering with proc/onclose()
|
||||
// if a valid atom reference is supplied, call the atom's Topic() with "close=1"
|
||||
@@ -167,12 +166,10 @@
|
||||
set name = ".windowclose" // no autocomplete on cmd line
|
||||
|
||||
// to_chat(world, "windowclose: [atomref]")
|
||||
|
||||
if(atomref!="null") // if passed a real atomref
|
||||
var/hsrc = locate(atomref) // find the reffed atom
|
||||
if(hsrc)
|
||||
// to_chat(world, "[src] Topic [href] [hsrc]")
|
||||
|
||||
usr = src.mob
|
||||
src.Topic("close=1", list("close"="1"), hsrc) // this will direct to the atom's
|
||||
return // Topic() proc via client.Topic()
|
||||
@@ -181,6 +178,5 @@
|
||||
// so just reset the user mob's machine var
|
||||
if(src && src.mob)
|
||||
// to_chat(world, "[src] was [src.mob.machine], setting to null")
|
||||
|
||||
src.mob.unset_machine()
|
||||
return
|
||||
@@ -643,7 +643,6 @@
|
||||
//this is necessarily damaging
|
||||
var/damage = rand(1,5)
|
||||
to_chat(M, "\red <B>The unloading machine grabs you with a hard metallic claw!</B>")
|
||||
|
||||
if(M.client)
|
||||
M.client.eye = master
|
||||
M.client.perspective = EYE_PERSPECTIVE
|
||||
@@ -662,7 +661,6 @@
|
||||
if(bruteloss < 100) // requires tenderization
|
||||
M.apply_damage(rand(5,15),BRUTE)
|
||||
to_chat(M, "The machine is tearing you apart!")
|
||||
|
||||
master.visible_message("\red [master] makes a squishy grinding noise.")
|
||||
return
|
||||
M.loc = master.loc
|
||||
@@ -701,7 +699,6 @@
|
||||
//this is necessarily damaging
|
||||
var/damage = rand(1,5)
|
||||
to_chat(M, "\red <B>The unloading machine grabs you with a hard metallic claw!</B>")
|
||||
|
||||
if(M.client)
|
||||
M.client.eye = master
|
||||
M.client.perspective = EYE_PERSPECTIVE
|
||||
@@ -794,7 +791,6 @@
|
||||
var/mob/living/carbon/human/M = W
|
||||
if((M.lying || (M.health - M.staminaloss < 25))&& !master.emagged)
|
||||
to_chat(M, "\The [src] gives you a break.")
|
||||
|
||||
master.sleep+=5
|
||||
return 0 // Be polite
|
||||
var/punches = punch(M,remaining / PUNCH_WORK)
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
if(!usr.client || !usr.client.holder)
|
||||
to_chat(usr, "\red You need to be an administrator to access this.")
|
||||
|
||||
return
|
||||
|
||||
|
||||
@@ -417,7 +416,6 @@ body
|
||||
for(var/i=0;i<4;i++)
|
||||
idx=(block*4)+i
|
||||
to_chat(bit=1, idx)
|
||||
|
||||
bv=value & bit
|
||||
html += "<a href='?_src_=vars;togbit=[idx];var=[name];subject=\ref[DA]' title='bit [idx] ([bit])'>[bv?1:0]</a>"
|
||||
html += "</span>"
|
||||
@@ -441,7 +439,6 @@ body
|
||||
var/mob/M = locate(href_list["rename"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
var/new_name = sanitize(copytext(input(usr,"What would you like to name this mob?","Input a name",M.real_name) as text|null,1,MAX_NAME_LEN))
|
||||
@@ -457,7 +454,6 @@ body
|
||||
var/D = locate(href_list["datumedit"])
|
||||
if(!istype(D,/datum) && !istype(D,/client))
|
||||
to_chat(usr, "This can only be used on instances of types /client or /datum")
|
||||
|
||||
return
|
||||
|
||||
modify_variables(D, href_list["varnameedit"], 1)
|
||||
@@ -468,11 +464,9 @@ body
|
||||
var/atom/D = locate(href_list["subject"])
|
||||
if(!istype(D,/datum) && !istype(D,/client))
|
||||
to_chat(usr, "This can only be used on instances of types /client or /datum")
|
||||
|
||||
return
|
||||
if(!(href_list["var"] in D.vars))
|
||||
to_chat(usr, "Unable to find variable specified.")
|
||||
|
||||
return
|
||||
var/value = D.vars[href_list["var"]]
|
||||
value ^= 1 << text2num(href_list["togbit"])
|
||||
@@ -485,7 +479,6 @@ body
|
||||
var/D = locate(href_list["datumchange"])
|
||||
if(!istype(D,/datum) && !istype(D,/client))
|
||||
to_chat(usr, "This can only be used on instances of types /client or /datum")
|
||||
|
||||
return
|
||||
|
||||
modify_variables(D, href_list["varnamechange"], 0)
|
||||
@@ -496,7 +489,6 @@ body
|
||||
var/atom/A = locate(href_list["datummass"])
|
||||
if(!istype(A))
|
||||
to_chat(usr, "This can only be used on instances of type /atom")
|
||||
|
||||
return
|
||||
|
||||
cmd_mass_modify_object_variables(A, href_list["varnamemass"])
|
||||
@@ -507,7 +499,6 @@ body
|
||||
var/mob/M = locate(href_list["mob_player_panel"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
src.holder.show_player_panel(M)
|
||||
@@ -519,7 +510,6 @@ body
|
||||
var/mob/M = locate(href_list["give_spell"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
src.give_spell(M)
|
||||
@@ -532,7 +522,6 @@ body
|
||||
var/mob/M = locate(href_list["give_disease"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
src.give_disease(M)
|
||||
@@ -544,7 +533,6 @@ body
|
||||
var/mob/M = locate(href_list["godmode"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
src.cmd_admin_godmode(M)
|
||||
@@ -556,7 +544,6 @@ body
|
||||
var/mob/M = locate(href_list["gib"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
src.cmd_admin_gib(M)
|
||||
@@ -567,7 +554,6 @@ body
|
||||
var/mob/M = locate(href_list["build_mode"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
togglebuildmode(M)
|
||||
@@ -579,7 +565,6 @@ body
|
||||
var/mob/M = locate(href_list["drop_everything"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
if(usr.client)
|
||||
@@ -591,7 +576,6 @@ body
|
||||
var/mob/M = locate(href_list["direct_control"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
if(usr.client)
|
||||
@@ -603,7 +587,6 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["make_skeleton"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be used on instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
var/confirm = alert("Are you sure you want to turn this mob into a skeleton?","Confirm Skeleton Transformation","Yes","No")
|
||||
@@ -621,10 +604,8 @@ body
|
||||
var/mob/M = locate(href_list["offer_control"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be used on instances of type /mob")
|
||||
|
||||
return
|
||||
to_chat(M, "Control of your mob has been offered to dead players.")
|
||||
|
||||
log_admin("[key_name(usr)] has offered control of ([key_name(M)]) to ghosts.")
|
||||
message_admins("[key_name_admin(usr)] has offered control of ([key_name_admin(M)]) to ghosts")
|
||||
var/list/mob/dead/observer/candidates = pollCandidates("Do you want to play as [M.real_name]?", poll_time = 100)
|
||||
@@ -633,13 +614,11 @@ body
|
||||
if(candidates.len)
|
||||
theghost = pick(candidates)
|
||||
to_chat(M, "Your mob has been taken over by a ghost!")
|
||||
|
||||
message_admins("[key_name_admin(theghost)] has taken control of ([key_name_admin(M)])")
|
||||
M.ghostize()
|
||||
M.key = theghost.key
|
||||
else
|
||||
to_chat(M, "There were no ghosts willing to take control.")
|
||||
|
||||
message_admins("No ghosts were willing to take control of [key_name_admin(M)])")
|
||||
|
||||
else if(href_list["delall"])
|
||||
@@ -648,7 +627,6 @@ body
|
||||
var/obj/O = locate(href_list["delall"])
|
||||
if(!isobj(O))
|
||||
to_chat(usr, "This can only be used on instances of type /obj")
|
||||
|
||||
return
|
||||
|
||||
var/action_type = alert("Strict type ([O.type]) or type and all subtypes?",,"Strict type","Type and subtypes","Cancel")
|
||||
@@ -671,7 +649,6 @@ body
|
||||
qdel(Obj)
|
||||
if(!i)
|
||||
to_chat(usr, "No objects of this type exist")
|
||||
|
||||
return
|
||||
log_admin("[key_name(usr)] deleted all objects of type [O_type] ([i] objects deleted)")
|
||||
message_admins("[key_name_admin(usr)] deleted all objects of type [O_type] ([i] objects deleted)")
|
||||
@@ -683,7 +660,6 @@ body
|
||||
qdel(Obj)
|
||||
if(!i)
|
||||
to_chat(usr, "No objects of this type exist")
|
||||
|
||||
return
|
||||
log_admin("[key_name(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)")
|
||||
message_admins("[key_name_admin(usr)] deleted all objects of type or subtype of [O_type] ([i] objects deleted)")
|
||||
@@ -724,7 +700,6 @@ body
|
||||
var/atom/A = locate(href_list["explode"])
|
||||
if(!isobj(A) && !ismob(A) && !isturf(A))
|
||||
to_chat(usr, "This can only be done to instances of type /obj, /mob and /turf")
|
||||
|
||||
return
|
||||
|
||||
src.cmd_admin_explosion(A)
|
||||
@@ -736,7 +711,6 @@ body
|
||||
var/atom/A = locate(href_list["emp"])
|
||||
if(!isobj(A) && !ismob(A) && !isturf(A))
|
||||
to_chat(usr, "This can only be done to instances of type /obj, /mob and /turf")
|
||||
|
||||
return
|
||||
|
||||
src.cmd_admin_emp(A)
|
||||
@@ -748,7 +722,6 @@ body
|
||||
var/datum/D = locate(href_list["mark_object"])
|
||||
if(!istype(D))
|
||||
to_chat(usr, "This can only be done to instances of type /datum")
|
||||
|
||||
return
|
||||
|
||||
src.holder.marked_datum = D
|
||||
@@ -769,7 +742,6 @@ body
|
||||
var/atom/A = locate(href_list["rotatedatum"])
|
||||
if(!istype(A))
|
||||
to_chat(usr, "This can only be done to instances of type /atom")
|
||||
|
||||
return
|
||||
|
||||
switch(href_list["rotatedir"])
|
||||
@@ -786,13 +758,11 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["makemonkey"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
holder.Topic(href, list("monkeyone"=href_list["makemonkey"]))
|
||||
|
||||
@@ -802,13 +772,11 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["makerobot"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
holder.Topic(href, list("makerobot"=href_list["makerobot"]))
|
||||
|
||||
@@ -818,13 +786,11 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["makealien"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
holder.Topic(href, list("makealien"=href_list["makealien"]))
|
||||
|
||||
@@ -834,13 +800,11 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["makeslime"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
holder.Topic(href, list("makeslime"=href_list["makeslime"]))
|
||||
|
||||
@@ -850,13 +814,11 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["makesuper"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
holder.Topic(href, list("makesuper"=href_list["makesuper"]))
|
||||
|
||||
@@ -866,13 +828,11 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["makeai"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
holder.Topic(href, list("makeai"=href_list["makeai"]))
|
||||
|
||||
@@ -882,7 +842,6 @@ body
|
||||
if(alert("Confirm mob type change?",,"Transform","Cancel") != "Transform") return
|
||||
if(!currentMob)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
holder.Topic(href, list("makemask"=href_list["makemask"]))
|
||||
|
||||
@@ -893,33 +852,28 @@ body
|
||||
var/mob/living/carbon/human/H = locate(href_list["setspecies"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon/human")
|
||||
|
||||
return
|
||||
|
||||
var/new_species = input("Please choose a new species.","Species",null) as null|anything in all_species
|
||||
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
|
||||
if(H.set_species(new_species))
|
||||
to_chat(usr, "Set species of [H] to [H.species].")
|
||||
|
||||
H.regenerate_icons()
|
||||
message_admins("[key_name_admin(usr)] has changed the species of [key_name_admin(H)] to [new_species]")
|
||||
log_admin("[key_name(usr)] has changed the species of [key_name(H)] to [new_species]")
|
||||
else
|
||||
to_chat(usr, "Failed! Something went wrong.")
|
||||
|
||||
|
||||
else if(href_list["addlanguage"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
|
||||
var/mob/H = locate(href_list["addlanguage"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
var/new_language = input("Please choose a language to add.","Language",null) as null|anything in all_languages
|
||||
@@ -929,30 +883,25 @@ body
|
||||
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
|
||||
if(H.add_language(new_language))
|
||||
to_chat(usr, "Added [new_language] to [H].")
|
||||
|
||||
message_admins("[key_name_admin(usr)] has given [key_name_admin(H)] the language [new_language]")
|
||||
log_admin("[key_name(usr)] has given [key_name(H)] the language [new_language]")
|
||||
else
|
||||
to_chat(usr, "Mob already knows that language.")
|
||||
|
||||
|
||||
else if(href_list["remlanguage"])
|
||||
if(!check_rights(R_SPAWN)) return
|
||||
|
||||
var/mob/H = locate(href_list["remlanguage"])
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob")
|
||||
|
||||
return
|
||||
|
||||
if(!H.languages.len)
|
||||
to_chat(usr, "This mob knows no languages.")
|
||||
|
||||
return
|
||||
|
||||
var/datum/language/rem_language = input("Please choose a language to remove.","Language",null) as null|anything in H.languages
|
||||
@@ -962,18 +911,15 @@ body
|
||||
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
|
||||
if(H.remove_language(rem_language.name))
|
||||
to_chat(usr, "Removed [rem_language] from [H].")
|
||||
|
||||
message_admins("[key_name_admin(usr)] has removed language [rem_language] from [key_name_admin(H)]")
|
||||
log_admin("[key_name(usr)] has removed language [rem_language] from [key_name(H)]")
|
||||
else
|
||||
to_chat(usr, "Mob doesn't know that language.")
|
||||
|
||||
|
||||
else if(href_list["addverb"])
|
||||
if(!check_rights(R_DEBUG)) return
|
||||
|
||||
@@ -981,7 +927,6 @@ body
|
||||
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living")
|
||||
|
||||
return
|
||||
var/list/possibleverbs = list()
|
||||
possibleverbs += "Cancel" // One for the top...
|
||||
@@ -999,7 +944,6 @@ body
|
||||
var/verb = input("Select a verb!", "Verbs",null) as anything in possibleverbs
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
if(!verb || verb == "Cancel")
|
||||
return
|
||||
@@ -1015,12 +959,10 @@ body
|
||||
|
||||
if(!istype(H))
|
||||
to_chat(usr, "This can only be done to instances of type /mob")
|
||||
|
||||
return
|
||||
var/verb = input("Please choose a verb to remove.","Verbs",null) as null|anything in H.verbs
|
||||
if(!H)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
if(!verb)
|
||||
return
|
||||
@@ -1035,7 +977,6 @@ body
|
||||
var/mob/living/carbon/M = locate(href_list["addorgan"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon")
|
||||
|
||||
return
|
||||
|
||||
var/new_organ = input("Please choose an organ to add.","Organ",null) as null|anything in subtypesof(/obj/item/organ)-/obj/item/organ
|
||||
@@ -1043,12 +984,10 @@ body
|
||||
|
||||
if(!M)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
|
||||
if(locate(new_organ) in M.internal_organs)
|
||||
to_chat(usr, "Mob already has that organ.")
|
||||
|
||||
return
|
||||
var/obj/item/organ/internal/organ = new new_organ
|
||||
organ.insert(M)
|
||||
@@ -1061,23 +1000,19 @@ body
|
||||
var/mob/living/carbon/M = locate(href_list["remorgan"])
|
||||
if(!istype(M))
|
||||
to_chat(usr, "This can only be done to instances of type /mob/living/carbon")
|
||||
|
||||
return
|
||||
|
||||
var/obj/item/organ/internal/rem_organ = input("Please choose an organ to remove.","Organ",null) as null|anything in M.internal_organs
|
||||
|
||||
if(!M)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
|
||||
if(!(locate(rem_organ) in M.internal_organs))
|
||||
to_chat(usr, "Mob does not have that organ.")
|
||||
|
||||
return
|
||||
|
||||
to_chat(usr, "Removed [rem_organ] from [M].")
|
||||
|
||||
rem_organ.remove(M)
|
||||
message_admins("[key_name_admin(usr)] has removed the organ [rem_organ] from [key_name_admin(M)]")
|
||||
log_admin("[key_name(usr)] has removed the organ [rem_organ] from [key_name(M)]")
|
||||
@@ -1090,16 +1025,13 @@ body
|
||||
|
||||
if(!istype(H) || !H.client)
|
||||
to_chat(usr, "This can only be done on mobs with clients")
|
||||
|
||||
return
|
||||
|
||||
H.client.reload_nanoui_resources()
|
||||
|
||||
to_chat(usr, "Resource files sent")
|
||||
|
||||
to_chat(H, "Your NanoUI Resource files have been refreshed")
|
||||
|
||||
|
||||
log_admin("[key_name(usr)] resent the NanoUI resource files to [key_name(H)]")
|
||||
|
||||
else if(href_list["regenerateicons"])
|
||||
@@ -1108,7 +1040,6 @@ body
|
||||
var/mob/M = locate(href_list["regenerateicons"])
|
||||
if(!ismob(M))
|
||||
to_chat(usr, "This can only be done to instances of type /mob")
|
||||
|
||||
return
|
||||
M.regenerate_icons()
|
||||
|
||||
@@ -1124,7 +1055,6 @@ body
|
||||
|
||||
if(!L)
|
||||
to_chat(usr, "Mob doesn't exist anymore")
|
||||
|
||||
return
|
||||
|
||||
switch(Text)
|
||||
@@ -1136,7 +1066,6 @@ body
|
||||
if("clone") L.adjustCloneLoss(amount)
|
||||
else
|
||||
to_chat(usr, "You caused an error. DEBUG: Text:[Text] Mob:[L]")
|
||||
|
||||
return
|
||||
|
||||
if(amount != 0)
|
||||
|
||||
@@ -162,7 +162,6 @@ var/list/advance_cures = list(
|
||||
|
||||
/datum/disease/advance/proc/Refresh(new_name = 0)
|
||||
// to_chat(world, "[src.name] \ref[src] - REFRESH!")
|
||||
|
||||
var/list/properties = GenerateProperties()
|
||||
AssignProperties(properties)
|
||||
id = null
|
||||
@@ -257,7 +256,6 @@ var/list/advance_cures = list(
|
||||
if(properties && properties.len)
|
||||
var/res = Clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len)
|
||||
// to_chat(world, "Res = [res]")
|
||||
|
||||
cures = list(advance_cures[res])
|
||||
|
||||
// Get the cure name from the cure_id
|
||||
@@ -331,7 +329,6 @@ var/list/advance_cures = list(
|
||||
|
||||
// to_chat(world, "Mixing!!!!")
|
||||
|
||||
|
||||
var/list/diseases = list()
|
||||
|
||||
for(var/datum/disease/advance/A in D_list)
|
||||
@@ -356,7 +353,6 @@ var/list/advance_cures = list(
|
||||
|
||||
// Should be only 1 entry left, but if not let's only return a single entry
|
||||
// to_chat(world, "END MIXING!!!!!")
|
||||
|
||||
var/datum/disease/advance/to_return = pick(diseases)
|
||||
to_return.Refresh(1)
|
||||
return to_return
|
||||
@@ -426,7 +422,6 @@ var/list/advance_cures = list(
|
||||
|
||||
for(var/datum/disease/D in disease_master.processing)
|
||||
to_chat(src, "<a href='?_src_=vars;Vars=\ref[D]'>[D.name] - [D.holder]</a>")
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
@@ -33,19 +33,16 @@ BONUS
|
||||
switch(A.stage)
|
||||
if(1, 2)
|
||||
to_chat(H, "<span class='warning'>Your chin itches.</span>")
|
||||
|
||||
if(H.f_style == "Shaved")
|
||||
H.f_style = "Jensen Beard"
|
||||
H.update_hair()
|
||||
if(3, 4)
|
||||
to_chat(H, "<span class='warning'>You feel tough.</span>")
|
||||
|
||||
if(!(H.f_style == "Dwarf Beard") && !(H.f_style == "Very Long Beard") && !(H.f_style == "Full Beard"))
|
||||
H.f_style = "Full Beard"
|
||||
H.update_hair()
|
||||
else
|
||||
to_chat(H, "<span class='warning'>You feel manly!</span>")
|
||||
|
||||
if(!(H.f_style == "Dwarf Beard") && !(H.f_style == "Very Long Beard"))
|
||||
H.f_style = pick("Dwarf Beard", "Very Long Beard")
|
||||
H.update_hair()
|
||||
|
||||
@@ -32,15 +32,12 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2)
|
||||
to_chat(M, "<span class='warning'>[pick("You're having difficulty breathing.", "Your breathing becomes heavy.")]</span>")
|
||||
|
||||
if(3, 4)
|
||||
to_chat(M, "<span class='warning'><b>[pick("Your windpipe feels like a straw.", "Your breathing becomes tremendously difficult.")]</span>")
|
||||
|
||||
Choke_stage_3_4(M, A)
|
||||
M.emote("gasp")
|
||||
else
|
||||
to_chat(M, "<span class='userdanger'>[pick("You're choking!", "You can't breathe!")]</span>")
|
||||
|
||||
Choke(M, A)
|
||||
M.emote("gasp")
|
||||
return
|
||||
|
||||
@@ -33,10 +33,8 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
to_chat(M, "<span class='warning'>[pick("Your head hurts.", "Your mind blanks for a moment.")]</span>")
|
||||
|
||||
else
|
||||
to_chat(M, "<span class='userdanger'>You can't think straight!</span>")
|
||||
|
||||
M.confused = min(100, M.confused + 8)
|
||||
|
||||
return
|
||||
|
||||
@@ -32,7 +32,6 @@ BONUS
|
||||
switch(A.stage)
|
||||
if(1, 2, 3)
|
||||
to_chat(M, "<span notice='warning'>[pick("You swallow excess mucus.", "You lightly cough.")]</span>")
|
||||
|
||||
else
|
||||
M.emote("cough")
|
||||
var/obj/item/I = M.get_active_hand()
|
||||
|
||||
@@ -32,15 +32,12 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(3, 4)
|
||||
to_chat(M, "<span class='warning'>[pick("You hear a ringing in your ear.", "Your ears pop.")]</span>")
|
||||
|
||||
if(5)
|
||||
if(!(M.ear_deaf))
|
||||
to_chat(M, "<span class='userdanger'>Your ears pop and begin ringing loudly!</span>")
|
||||
|
||||
M.setEarDamage(-1,INFINITY) //Shall be enough
|
||||
spawn(200)
|
||||
if(M)
|
||||
to_chat(M, "<span class='warning'>The ringing in your ears fades...</span>")
|
||||
|
||||
M.setEarDamage(-1,0)
|
||||
return
|
||||
@@ -32,9 +32,7 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel dizzy.", "Your head spins.")]</span>")
|
||||
|
||||
else
|
||||
to_chat(M, "<span class='userdanger'>A wave of dizziness washes over you!</span>")
|
||||
|
||||
M.Dizzy(5)
|
||||
return
|
||||
@@ -30,7 +30,6 @@ Bonus
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
to_chat(M, "<span class='warning'>[pick("You feel hot.", "You feel like you're burning.")]</span>")
|
||||
|
||||
if(M.bodytemperature < BODYTEMP_HEAT_DAMAGE_LIMIT)
|
||||
Heat(M, A)
|
||||
|
||||
|
||||
@@ -32,18 +32,15 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(3)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel hot.", "You hear a crackling noise.", "You smell smoke.")]</span>")
|
||||
|
||||
if(4)
|
||||
Firestacks_stage_4(M, A)
|
||||
M.IgniteMob()
|
||||
to_chat(M, "<span class='userdanger'>Your skin bursts into flames!</span>")
|
||||
|
||||
M.emote("scream")
|
||||
if(5)
|
||||
Firestacks_stage_5(M, A)
|
||||
M.IgniteMob()
|
||||
to_chat(M, "<span class='userdanger'>Your skin erupts into an inferno!</span>")
|
||||
|
||||
M.emote("scream")
|
||||
return
|
||||
|
||||
|
||||
@@ -32,10 +32,8 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(2,3)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel a sudden pain across your body.", "Drops of blood appear suddenly on your skin.")]</span>")
|
||||
|
||||
if(4,5)
|
||||
to_chat(M, "<span class='userdanger'>[pick("You cringe as a violent pain takes over your body.", "It feels like your body is eating itself inside out.", "IT HURTS.")]</span>")
|
||||
|
||||
Flesheat(M, A)
|
||||
return
|
||||
|
||||
|
||||
@@ -36,7 +36,6 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(4, 5)
|
||||
to_chat(M, "<span class='warning'>[pick("Your skin feels itchy.", "You feel light headed.")]</span>")
|
||||
|
||||
M.dna.remove_mutation_group(possible_mutations)
|
||||
randmut(M, possible_mutations)
|
||||
return
|
||||
|
||||
@@ -32,13 +32,10 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2)
|
||||
to_chat(M, "<span class='warning'>[pick("Something appears in your peripheral vision, then winks out.", "You hear a faint whispher with no source.", "Your head aches.")]</span>")
|
||||
|
||||
if(3, 4)
|
||||
to_chat(M, "<span class='warning'><b>[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]</b></span>")
|
||||
|
||||
else
|
||||
to_chat(M, "<span class='userdanger'>[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]</span>")
|
||||
|
||||
M.hallucination += 5
|
||||
|
||||
return
|
||||
|
||||
@@ -31,5 +31,4 @@ BONUS
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/M = A.affected_mob
|
||||
to_chat(M, "<span class='warning'>[pick("Your head hurts.", "Your head starts pounding.")]</span>")
|
||||
|
||||
return
|
||||
@@ -75,7 +75,6 @@ Bonus
|
||||
if(cured)
|
||||
to_chat(M, "<span class='notice'>You feel much better.</span>")
|
||||
|
||||
|
||||
/datum/symptom/heal/metabolism/End(datum/disease/advance/A)
|
||||
// Remove all the diseases we cured.
|
||||
var/mob/living/M = A.affected_mob
|
||||
@@ -86,7 +85,6 @@ Bonus
|
||||
M.resistances -= res
|
||||
to_chat(M, "<span class='warning'>You feel weaker.</span>")
|
||||
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
|
||||
@@ -31,5 +31,4 @@ BONUS
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/M = A.affected_mob
|
||||
to_chat(M, "<span class='warning'>Your [pick("back", "arm", "leg", "elbow", "head")] itches.</span>")
|
||||
|
||||
return
|
||||
@@ -35,5 +35,4 @@ Bonus
|
||||
else
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB * 5))
|
||||
to_chat(M, "<span class='notice'>[pick("Your lungs feel great.", "You realize you haven't been breathing.", "You don't feel the need to breathe.")]</span>")
|
||||
|
||||
return
|
||||
|
||||
@@ -33,22 +33,18 @@ Bonus
|
||||
if(M.reagents.get_reagent_amount("oculine")<10)
|
||||
M.reagents.add_reagent("oculine"=10)
|
||||
to_chat(M, "<span class='notice'>Your hearing feels clearer and crisp.</span>")
|
||||
|
||||
if(3)
|
||||
if(M.reagents.get_reagent_amount("antihol") < 10 && M.reagents.get_reagent_amount("oculine") < 10 )
|
||||
M.reagents.add_reagent_list(list("antihol"=10, "oculine"=10))
|
||||
to_chat(M, "<span class='notice'>You feel sober.</span>")
|
||||
|
||||
if(4)
|
||||
if(M.reagents.get_reagent_amount("antihol") < 10 && M.reagents.get_reagent_amount("oculine") < 10 && M.reagents.get_reagent_amount("synaptizine") < 10)
|
||||
M.reagents.add_reagent_list(list("antihol"=10, "oculine"=10, "synaptizine"=5))
|
||||
to_chat(M, "<span class='notice'>You feel focused.</span>")
|
||||
|
||||
if(5)
|
||||
if(M.reagents.get_reagent_amount("antihol") < 10 && M.reagents.get_reagent_amount("oculine") < 10 && M.reagents.get_reagent_amount("synaptizine") < 10 && M.reagents.get_reagent_amount("mannitol") < 10)
|
||||
M.reagents.add_reagent_list(list("mannitol"=10, "antihol"=10, "oculine"=10, "synaptizine"=10))
|
||||
to_chat(M, "<span class='notice'>Your mind feels relaxed.</span>")
|
||||
|
||||
return
|
||||
|
||||
/*
|
||||
@@ -85,28 +81,23 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1)
|
||||
to_chat(M, "<span class='warning'><b>You can't taste a thing.</b></span>")
|
||||
|
||||
if(2)
|
||||
to_chat(M, "<span class='warning'><b>You can't feel anything.</b></span>")
|
||||
|
||||
if(prob(10))
|
||||
M.reagents.add_reagent("morphine",rand(5,7))
|
||||
if(3)
|
||||
M.reagents.add_reagent("ethanol",rand(5,7))
|
||||
to_chat(M, "<span class='warning'><b>You feel absolutely hammered.</b></span>")
|
||||
|
||||
if(prob(15))
|
||||
M.reagents.add_reagent("morphine",rand(5,7))
|
||||
if(4)
|
||||
M.reagents.add_reagent_list(list("ethanol",rand(7,15),"lsd",rand(5,10)))
|
||||
to_chat(M, "<span class='warning'><b>You try to focus on not dying.</b></span>")
|
||||
|
||||
if(prob(20))
|
||||
M.reagents.add_reagent("morphine",rand(5,7))
|
||||
if(5)
|
||||
M.reagents.add_reagent_list(list("haloperidol",rand(5,15),"ethanol",rand(7,20),"lsd",rand(5,15)))
|
||||
to_chat(M, "<span class='warning'><b>u can count 2 potato!</b></span>")
|
||||
|
||||
if(prob(25))
|
||||
M.reagents.add_reagent("morphine",rand(5,7))
|
||||
return
|
||||
@@ -29,21 +29,18 @@ BONUS
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/M = A.affected_mob
|
||||
to_chat(M, "<span class='warning'>[pick("Your scalp itches.", "Your skin feels flakey.")]</span>")
|
||||
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
switch(A.stage)
|
||||
if(3, 4)
|
||||
if(!(H.h_style == "Bald") && !(H.h_style == "Balding Hair"))
|
||||
to_chat(H, "<span class='warning'>Your hair starts to fall out in clumps...</span>")
|
||||
|
||||
spawn(50)
|
||||
H.h_style = "Balding Hair"
|
||||
H.update_hair()
|
||||
if(5)
|
||||
if(!(H.f_style == "Shaved") || !(H.h_style == "Bald"))
|
||||
to_chat(H, "<span class='warning'>Your hair starts to fall out in clumps...</span>")
|
||||
|
||||
spawn(50)
|
||||
H.f_style = "Shaved"
|
||||
H.h_style = "Bald"
|
||||
|
||||
@@ -30,7 +30,6 @@ Bonus
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||
var/mob/living/carbon/M = A.affected_mob
|
||||
to_chat(M, "<span class='warning'>[pick("You feel cold.", "You start shivering.")]</span>")
|
||||
|
||||
if(M.bodytemperature < BODYTEMP_COLD_DAMAGE_LIMIT)
|
||||
Chill(M, A)
|
||||
return
|
||||
|
||||
@@ -35,5 +35,4 @@ Bonus
|
||||
else
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB * 5))
|
||||
to_chat(M, "<span class='notice'>[pick("You feel restless.", "You feel like running laps around the station.")]</span>")
|
||||
|
||||
return
|
||||
@@ -28,11 +28,9 @@ BONUS
|
||||
switch(A.stage)
|
||||
if(1)
|
||||
to_chat(M, "<span class='notice'>You feel off, but no different from before.</span>")
|
||||
|
||||
if(5)
|
||||
to_chat(M, "<span class='notice'>You feel better, but nothing interesting happens.</span>")
|
||||
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
Viral evolution
|
||||
@@ -63,7 +61,5 @@ BONUS
|
||||
switch(A.stage)
|
||||
if(1)
|
||||
to_chat(M, "<span class='notice'>You feel better, but no different from before.</span>")
|
||||
|
||||
if(5)
|
||||
to_chat(M, "<span class='notice'>You feel off, but nothing interesting happens.</span>")
|
||||
|
||||
|
||||
@@ -32,15 +32,12 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2)
|
||||
to_chat(M, "<span class='warning'>Your eyes itch.</span>")
|
||||
|
||||
if(3, 4)
|
||||
to_chat(M, "<span class='warning'><b>Your eyes burn!</b></span>")
|
||||
|
||||
M.blur_eyes(10)
|
||||
M.adjust_eye_damage(1)
|
||||
else
|
||||
to_chat(M, "<span class='userdanger'>Your eyes burn horrificly!</span>")
|
||||
|
||||
M.blur_eyes(20)
|
||||
M.adjust_eye_damage(5)
|
||||
if(M.eye_damage >= 10)
|
||||
@@ -50,7 +47,6 @@ Bonus
|
||||
to_chat(M, "<span class='userdanger'>You go blind!</span>")
|
||||
|
||||
|
||||
|
||||
/*
|
||||
//////////////////////////////////////
|
||||
|
||||
@@ -88,5 +84,4 @@ Bonus
|
||||
else
|
||||
if(prob(SYMPTOM_ACTIVATION_PROB * 5))
|
||||
to_chat(M, "<span class='notice'>[pick("Your eyes feel great.", "You are now blinking manually.", "You don't feel the need to blink.")]</span>")
|
||||
|
||||
return
|
||||
|
||||
@@ -33,7 +33,6 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
to_chat(M, "<span class='warning'>[pick("Your throat hurts.", "You clear your throat.")]</span>")
|
||||
|
||||
else
|
||||
if(ishuman(M))
|
||||
var/mob/living/carbon/human/H = M
|
||||
|
||||
@@ -36,7 +36,6 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel nauseous.", "You feel like you're going to throw up!")]</span>")
|
||||
|
||||
else
|
||||
Vomit(M)
|
||||
|
||||
|
||||
@@ -32,14 +32,11 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel weak.", "You feel lazy.")]</span>")
|
||||
|
||||
if(3, 4)
|
||||
to_chat(M, "<span class='warning'><b>[pick("You feel very frail.", "You think you might faint.")]</span>")
|
||||
|
||||
M.adjustStaminaLoss(15)
|
||||
else
|
||||
to_chat(M, "<span class='userdanger'>[pick("You feel tremendously weak!", "Your body trembles as exhaustion creeps over you.")]</span>")
|
||||
|
||||
M.adjustStaminaLoss(30)
|
||||
if(M.getStaminaLoss() > 60 && !M.stat)
|
||||
M.visible_message("<span class='warning'>[M] faints!</span>", "<span class='userdanger'>You swoon and faint...</span>")
|
||||
|
||||
@@ -32,7 +32,6 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel blubbery.", "Your stomach hurts.")]</span>")
|
||||
|
||||
else
|
||||
M.overeatduration = min(M.overeatduration + 100, 600)
|
||||
M.nutrition = min(M.nutrition + 100, NUTRITION_LEVEL_FULL)
|
||||
@@ -75,10 +74,8 @@ Bonus
|
||||
switch(A.stage)
|
||||
if(1, 2, 3, 4)
|
||||
to_chat(M, "<span class='warning'>[pick("You feel hungry.", "You crave for food.")]</span>")
|
||||
|
||||
else
|
||||
to_chat(M, "<span class='warning'><i>[pick("So hungry...", "You'd kill someone for a bite of food...", "Hunger cramps seize you...")]</i></span>")
|
||||
|
||||
M.overeatduration = max(M.overeatduration - 100, 0)
|
||||
M.nutrition = max(M.nutrition - 100, 0)
|
||||
|
||||
|
||||
@@ -35,26 +35,21 @@ BONUS
|
||||
if(H.age > 41)
|
||||
H.age = 41
|
||||
to_chat(H, "<span class='notice'>You haven't had this much energy in years!</span>")
|
||||
|
||||
if(2)
|
||||
if(H.age > 36)
|
||||
H.age = 36
|
||||
to_chat(H, "<span class='notice'>You're suddenly in a good mood.</span>")
|
||||
|
||||
if(3)
|
||||
if(H.age > 31)
|
||||
H.age = 31
|
||||
to_chat(H, "<span class='notice'>You begin to feel more lithe.</span>")
|
||||
|
||||
if(4)
|
||||
if(H.age > 26)
|
||||
H.age = 26
|
||||
to_chat(H, "<span class='notice'>You feel reinvigorated.</span>")
|
||||
|
||||
if(5)
|
||||
if(H.age > 21)
|
||||
H.age = 21
|
||||
to_chat(H, "<span class='notice'>You feel like you can take on the world!</span>")
|
||||
|
||||
|
||||
return
|
||||
@@ -17,22 +17,17 @@
|
||||
if(2) //also changes say, see say.dm
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel anxious.</span>")
|
||||
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='notice'>Your stomach flutters.</span>")
|
||||
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel panicky.</span>")
|
||||
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You're overtaken with panic!</span>")
|
||||
|
||||
affected_mob.confused += (rand(2,3))
|
||||
if(4)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel butterflies in your stomach.</span>")
|
||||
|
||||
if(prob(5))
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] stumbles around in a panic.</span>", \
|
||||
"<span class='userdanger'>You have a panic attack!</span>")
|
||||
|
||||
@@ -27,7 +27,6 @@
|
||||
A.update_icon()
|
||||
if(prob(3))
|
||||
to_chat(affected_mob, "<span class='warning'>You feel a stabbing pain in your abdomen!</span>")
|
||||
|
||||
affected_mob.Stun(rand(2,3))
|
||||
affected_mob.adjustToxLoss(1)
|
||||
if(3)
|
||||
|
||||
@@ -17,14 +17,11 @@
|
||||
if(2) //also changes say, see say.dm // no it doesn't, that's horrifyingly snowflakey
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='notice'>You taste honey in your mouth.</span>")
|
||||
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='notice'>Your stomach rumbles.</span>")
|
||||
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach stings painfully.</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(2)
|
||||
affected_mob.updatehealth()
|
||||
@@ -34,7 +31,6 @@
|
||||
"<span class='userdanger'>Your stomach buzzes violently!</span>")
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel something moving in your throat.</span>")
|
||||
|
||||
if(prob(1))
|
||||
affected_mob.visible_message("<span class='danger'>[affected_mob] coughs up a swarm of bees!</span>", \
|
||||
"<span class='userdanger'>You cough up a swarm of bees!</span>")
|
||||
|
||||
@@ -23,7 +23,6 @@
|
||||
affected_mob.emote("yawn")
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You don't feel like yourself.</span>")
|
||||
|
||||
if(prob(5))
|
||||
affected_mob.adjustBrainLoss(1)
|
||||
affected_mob.updatehealth()
|
||||
@@ -38,7 +37,6 @@
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>Your try to remember something important...but can't.</span>")
|
||||
|
||||
|
||||
if(4)
|
||||
if(prob(2))
|
||||
affected_mob.emote("stare")
|
||||
@@ -49,10 +47,8 @@
|
||||
affected_mob.updatehealth()
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>Strange buzzing fills your head, removing all thoughts.</span>")
|
||||
|
||||
if(prob(3))
|
||||
to_chat(affected_mob, "<span class='danger'>You lose consciousness...</span>")
|
||||
|
||||
affected_mob.visible_message("<span class='warning'>[affected_mob] suddenly collapses</span>")
|
||||
affected_mob.Paralyse(rand(5,10))
|
||||
if(prob(1))
|
||||
|
||||
@@ -17,18 +17,15 @@
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(40)) //removed until sleeping is fixed
|
||||
to_chat(affected_mob, "\blue You feel better.")
|
||||
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(40)) //changed FROM prob(10) until sleeping is fixed
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if(prob(1) && prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -37,26 +34,21 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
|
||||
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Mucous runs down the back of your throat.</span>")
|
||||
|
||||
if(3)
|
||||
/*
|
||||
if(affected_mob.sleeping && prob(25)) //removed until sleeping is fixed
|
||||
to_chat(affected_mob, "\blue You feel better.")
|
||||
|
||||
cure()
|
||||
return
|
||||
*/
|
||||
if(affected_mob.lying && prob(25)) //changed FROM prob(5) until sleeping is fixed
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if(prob(1) && prob(1))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -65,10 +57,8 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
|
||||
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Mucous runs down the back of your throat.</span>")
|
||||
|
||||
if(prob(1) && prob(50))
|
||||
if(!affected_mob.resistances.Find(/datum/disease/flu))
|
||||
var/datum/disease/Flu = new /datum/disease/flu(0)
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
affected_mob.bodytemperature -= 10
|
||||
if(prob(1) && prob(10))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -26,10 +25,8 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
|
||||
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel stiff.</span>")
|
||||
|
||||
if(3)
|
||||
affected_mob.bodytemperature -= 20
|
||||
if(prob(1))
|
||||
@@ -38,7 +35,5 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your throat feels sore.</span>")
|
||||
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel stiff.</span>")
|
||||
|
||||
|
||||
@@ -35,12 +35,10 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.take_organ_damage(1)
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(2)
|
||||
affected_mob.updatehealth()
|
||||
@@ -51,7 +49,6 @@
|
||||
affected_mob.dna.copy_dna(original_dna)
|
||||
|
||||
to_chat(affected_mob, "<span class='danger'>You don't feel like yourself..</span>")
|
||||
|
||||
var/datum/dna/transform_dna = strain_data["dna"]
|
||||
|
||||
transform_dna.transfer_identity(affected_mob, transfer_SE = 1)
|
||||
@@ -72,5 +69,4 @@
|
||||
affected_mob.domutcheck()
|
||||
|
||||
to_chat(affected_mob, "<span class='notice'>You feel more like yourself.</span>")
|
||||
|
||||
return ..()
|
||||
@@ -23,7 +23,6 @@
|
||||
affected_mob.emote("gasp")
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You're starting to feel very weak...</span>")
|
||||
|
||||
if(4)
|
||||
if(prob(10))
|
||||
affected_mob.emote("cough")
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
if(2)
|
||||
if(affected_mob.lying && prob(20))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
stage--
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -26,12 +25,10 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.take_organ_damage(1)
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(1)
|
||||
affected_mob.updatehealth()
|
||||
@@ -39,7 +36,6 @@
|
||||
if(3)
|
||||
if(affected_mob.lying && prob(15))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
stage--
|
||||
return
|
||||
if(prob(1))
|
||||
@@ -48,12 +44,10 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your muscles ache.</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.take_organ_damage(1)
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach hurts.</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(1)
|
||||
affected_mob.updatehealth()
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>You're burning in your own skin!</span>")
|
||||
|
||||
affected_mob.take_organ_damage(0,5)
|
||||
|
||||
if(3)
|
||||
@@ -33,6 +32,5 @@
|
||||
affected_mob.emote("cough")
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='danger'>You're burning in your own skin!</span>")
|
||||
|
||||
affected_mob.take_organ_damage(0,5)
|
||||
return
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
affected_mob.emote("gasp")
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You're starting to feel very weak...</span>")
|
||||
|
||||
if(4)
|
||||
if(prob(10))
|
||||
affected_mob.emote("cough")
|
||||
@@ -36,7 +35,6 @@
|
||||
affected_mob.updatehealth()
|
||||
if(5)
|
||||
to_chat(affected_mob, "<span class='danger'>Your body feels as if it's trying to rip itself open...</span>")
|
||||
|
||||
if(prob(50))
|
||||
affected_mob.gib()
|
||||
else
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
if(2)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a slight shock course through your body.</span>")
|
||||
|
||||
if(prob(2))
|
||||
for(var/obj/M in orange(2,affected_mob))
|
||||
if(!M.anchored && (M.flags & CONDUCT))
|
||||
@@ -28,10 +27,8 @@
|
||||
if(3)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a strong shock course through your body.</span>")
|
||||
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel like clowning around.</span>")
|
||||
|
||||
if(prob(4))
|
||||
for(var/obj/M in orange(4,affected_mob))
|
||||
if(!M.anchored && (M.flags & CONDUCT))
|
||||
@@ -48,10 +45,8 @@
|
||||
if(4)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a powerful shock course through your body.</span>")
|
||||
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You query upon the nature of miracles.</span>")
|
||||
|
||||
if(prob(8))
|
||||
for(var/obj/M in orange(6,affected_mob))
|
||||
if(!M.anchored && (M.flags & CONDUCT))
|
||||
|
||||
@@ -18,15 +18,12 @@
|
||||
if(1)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a little silly.</span>")
|
||||
|
||||
if(2)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You start seeing rainbows.</span>")
|
||||
|
||||
if(3)
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your thoughts are interrupted by a loud <b>HONK!</b></span>")
|
||||
|
||||
if(4)
|
||||
if(prob(5))
|
||||
affected_mob.say( pick( list("HONK!", "Honk!", "Honk.", "Honk?", "Honk!!", "Honk?!", "Honk...") ) )
|
||||
|
||||
@@ -32,49 +32,38 @@
|
||||
if(restcure)
|
||||
if(affected_mob.lying && prob(30))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if (prob(8))
|
||||
to_chat(affected_mob, "<span class='danger'>Your head hurts.</span>")
|
||||
|
||||
if (prob(9))
|
||||
to_chat(affected_mob, "You feel a tingling sensation in your chest.")
|
||||
|
||||
if (prob(9))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel angry.</span>")
|
||||
|
||||
if(2)
|
||||
if(restcure)
|
||||
if(affected_mob.lying && prob(20))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if (prob(8))
|
||||
to_chat(affected_mob, "<span class='danger'>Your skin feels loose.</span>")
|
||||
|
||||
if (prob(10))
|
||||
to_chat(affected_mob, "You feel very strange.")
|
||||
|
||||
if (prob(4))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head!</span>")
|
||||
|
||||
affected_mob.Paralyse(2)
|
||||
if (prob(4))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach churns.</span>")
|
||||
|
||||
if(3)
|
||||
if(restcure)
|
||||
if(affected_mob.lying && prob(20))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if (prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>Your entire body vibrates.</span>")
|
||||
|
||||
|
||||
if (prob(35))
|
||||
if(prob(50))
|
||||
scramble(1, affected_mob, rand(15, 45))
|
||||
@@ -85,7 +74,6 @@
|
||||
if(restcure)
|
||||
if(affected_mob.lying && prob(5))
|
||||
to_chat(affected_mob, "<span class='notice'>You feel better.</span>")
|
||||
|
||||
cure()
|
||||
return
|
||||
if (prob(60))
|
||||
|
||||
@@ -24,25 +24,21 @@
|
||||
affected_mob.updatehealth()
|
||||
if(prob(1))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel strange...</span>")
|
||||
|
||||
if(3)
|
||||
if(affected_mob.ckey == "rosham")
|
||||
src.cure()
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel the urge to dance...</span>")
|
||||
|
||||
else if(prob(5))
|
||||
affected_mob.emote("gasp")
|
||||
else if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel the need to chick chicky boom...</span>")
|
||||
|
||||
if(4)
|
||||
if(affected_mob.ckey == "rosham")
|
||||
src.cure()
|
||||
if(prob(10))
|
||||
affected_mob.emote("gasp")
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a burning beat inside...</span>")
|
||||
|
||||
if(prob(20))
|
||||
affected_mob.adjustToxLoss(5)
|
||||
affected_mob.updatehealth()
|
||||
@@ -50,7 +46,6 @@
|
||||
if(affected_mob.ckey == "rosham")
|
||||
src.cure()
|
||||
to_chat(affected_mob, "<span class='danger'>Your body is unable to contain the Rhumba Beat...</span>")
|
||||
|
||||
if(prob(50))
|
||||
affected_mob.gib()
|
||||
else
|
||||
|
||||
@@ -23,19 +23,15 @@
|
||||
if(1)
|
||||
if (prob(stage_prob) && stage1)
|
||||
to_chat(affected_mob, pick(stage1))
|
||||
|
||||
if(2)
|
||||
if (prob(stage_prob) && stage2)
|
||||
to_chat(affected_mob, pick(stage2))
|
||||
|
||||
if(3)
|
||||
if (prob(stage_prob*2) && stage3)
|
||||
to_chat(affected_mob, pick(stage3))
|
||||
|
||||
if(4)
|
||||
if (prob(stage_prob*2) && stage4)
|
||||
to_chat(affected_mob, pick(stage4))
|
||||
|
||||
if(5)
|
||||
do_disease_transformation(affected_mob)
|
||||
|
||||
@@ -43,7 +39,6 @@
|
||||
if(istype(affected_mob, /mob/living/carbon) && affected_mob.stat != DEAD)
|
||||
if(stage5)
|
||||
to_chat(affected_mob, pick(stage5))
|
||||
|
||||
if(jobban_isbanned(affected_mob, new_form))
|
||||
affected_mob.death(1)
|
||||
return
|
||||
@@ -107,11 +102,9 @@
|
||||
if(2)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='notice'>Your [pick("back", "arm", "leg", "elbow", "head")] itches.</span>")
|
||||
|
||||
if(3)
|
||||
if(prob(4))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
|
||||
|
||||
affected_mob.confused += 10
|
||||
if(4)
|
||||
if(prob(3))
|
||||
@@ -144,7 +137,6 @@
|
||||
affected_mob.say(pick("Beep, boop", "beep, beep!", "Boop...bop"))
|
||||
if (prob(4))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
|
||||
|
||||
affected_mob.Paralyse(2)
|
||||
if(4)
|
||||
if (prob(20))
|
||||
@@ -174,7 +166,6 @@
|
||||
if(3)
|
||||
if (prob(4))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a stabbing pain in your head.</span>")
|
||||
|
||||
affected_mob.Paralyse(2)
|
||||
if(4)
|
||||
if (prob(20))
|
||||
|
||||
@@ -18,32 +18,25 @@
|
||||
if(prob(2))
|
||||
affected_mob.emote("cough")
|
||||
to_chat(affected_mob, "<span class='danger'>Your chest hurts.</span>")
|
||||
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>Your stomach violently rumbles!</span>")
|
||||
|
||||
if(prob(5))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a cold sweat form.</span>")
|
||||
|
||||
if(4)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='userdanger'>You see four of everything</span>")
|
||||
|
||||
affected_mob.Dizzy(5)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel a sharp pain from your lower chest!</span>")
|
||||
|
||||
affected_mob.adjustOxyLoss(5)
|
||||
affected_mob.emote("gasp")
|
||||
if(prob(10))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel air escape from your lungs painfully.</span>")
|
||||
|
||||
affected_mob.adjustOxyLoss(25)
|
||||
affected_mob.emote("gasp")
|
||||
if(5)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='userdanger'>[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]</span>")
|
||||
|
||||
affected_mob.adjustStaminaLoss(70)
|
||||
if(prob(10))
|
||||
affected_mob.adjustStaminaLoss(100)
|
||||
@@ -51,18 +44,15 @@
|
||||
affected_mob.AdjustSleeping(5)
|
||||
if(prob(2))
|
||||
to_chat(affected_mob, "<span class='userdanger'>You feel your mind relax and your thoughts drift!</span>")
|
||||
|
||||
affected_mob.confused = min(100, affected_mob.confused + 8)
|
||||
if(prob(10))
|
||||
affected_mob.vomit(20)
|
||||
if(prob(3))
|
||||
to_chat(affected_mob, "<span class='warning'><i>[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]</i></span>")
|
||||
|
||||
affected_mob.overeatduration = max(affected_mob.overeatduration - 100, 0)
|
||||
affected_mob.nutrition = max(affected_mob.nutrition - 100, 0)
|
||||
if(prob(15))
|
||||
to_chat(affected_mob, "<span class='danger'>[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]</span>")
|
||||
|
||||
affected_mob.bodytemperature += 40
|
||||
return
|
||||
|
||||
|
||||
@@ -34,14 +34,12 @@ STI KALY - blind
|
||||
to_chat(affected_mob, "<span class='danger'>You feel [pick("that you don't have enough mana", "that the winds of magic are gone", "an urge to summon familiar")].</span>")
|
||||
|
||||
|
||||
|
||||
if(3)
|
||||
if(prob(1)&&prob(50))
|
||||
affected_mob.say(pick("NEC CANTIO!","AULIE OXIN FIERA!", "STI KALY!", "TARCOL MINTI ZHERI!"))
|
||||
if(prob(1)&&prob(50))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel [pick("the magic bubbling in your veins","that this location gives you a +1 to INT","an urge to summon familiar")].</span>")
|
||||
|
||||
|
||||
if(4)
|
||||
|
||||
if(prob(1))
|
||||
@@ -49,7 +47,6 @@ STI KALY - blind
|
||||
return
|
||||
if(prob(1)&&prob(50))
|
||||
to_chat(affected_mob, "<span class='danger'>You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")].</span>")
|
||||
|
||||
spawn_wizard_clothes(50)
|
||||
if(prob(1)&&prob(1))
|
||||
teleport()
|
||||
|
||||
@@ -124,12 +124,10 @@ What are the archived variables for?
|
||||
fuel_burnt = 0
|
||||
if(temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST)
|
||||
// to_chat(world, "pre [temperature], [oxygen], [toxins]")
|
||||
|
||||
if(fire() > 0)
|
||||
reacting = 1
|
||||
// to_chat(world, "post [temperature], [oxygen], [toxins]")
|
||||
|
||||
|
||||
return reacting
|
||||
|
||||
/datum/gas_mixture/proc/fire()
|
||||
|
||||
@@ -62,7 +62,6 @@
|
||||
var/obj/item/stack/cable_coil/C = used_atom
|
||||
if(C.amount<4)
|
||||
to_chat(user, ("There's not enough cable to finish the task."))
|
||||
|
||||
return 0
|
||||
else
|
||||
C.use(4)
|
||||
@@ -71,7 +70,6 @@
|
||||
var/obj/item/stack/S = used_atom
|
||||
if(S.amount < 5)
|
||||
to_chat(user, ("There's not enough material in this stack."))
|
||||
|
||||
return 0
|
||||
else
|
||||
S.use(5)
|
||||
@@ -114,7 +112,6 @@
|
||||
var/obj/item/stack/stack=used_atom
|
||||
if(stack.amount < amount)
|
||||
to_chat(user, "\red You don't have enough [stack]! You need at least [amount].")
|
||||
|
||||
return 0
|
||||
stack.use(amount)
|
||||
// CABLES
|
||||
@@ -122,7 +119,6 @@
|
||||
var/obj/item/stack/cable_coil/coil=used_atom
|
||||
if(coil.amount < amount)
|
||||
to_chat(user, "\red You don't have enough cable! You need at least [amount] coils.")
|
||||
|
||||
return 0
|
||||
coil.use(amount)
|
||||
// WELDER
|
||||
@@ -130,11 +126,9 @@
|
||||
var/obj/item/weapon/weldingtool/welder=used_atom
|
||||
if(!welder.isOn())
|
||||
to_chat(user, "\blue You tap the [src] with your unlit welder. [pick("Ding","Dong")].")
|
||||
|
||||
return 0
|
||||
if(!welder.remove_fuel(amount,user))
|
||||
to_chat(user, "\red You don't have enough fuel!")
|
||||
|
||||
return 0
|
||||
return 1
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
// Returns: null
|
||||
proc/fireEvent()
|
||||
// to_chat(world, "Events in [args[1]] called")
|
||||
|
||||
var/list/event = listgetindex(events,args[1])
|
||||
if(istype(event))
|
||||
spawn(-1)
|
||||
@@ -62,7 +61,6 @@
|
||||
|
||||
proc/Fire()
|
||||
// to_chat(world, "Event fired")
|
||||
|
||||
if(listener)
|
||||
call(listener,proc_name)(arglist(args))
|
||||
return 1
|
||||
|
||||
@@ -140,7 +140,6 @@ Data storage vars:
|
||||
return 1
|
||||
else
|
||||
// to_chat(world, "\red Invalid arguments supplied for [src.type], ref = \ref[src]")
|
||||
|
||||
return 0
|
||||
|
||||
proc/toggle_null_checks()
|
||||
|
||||
@@ -167,5 +167,4 @@
|
||||
if(istype(teleatom, /mob/living))
|
||||
var/mob/living/MM = teleatom
|
||||
to_chat(MM, "<span class='warning'>The bluespace interface on your bag of holding interferes with the teleport!</span>")
|
||||
|
||||
return 1
|
||||
@@ -85,12 +85,10 @@
|
||||
|
||||
/datum/martial_art/boxing/disarm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
to_chat(A, "<span class='warning'>Can't disarm while boxing!</span>")
|
||||
|
||||
return 1
|
||||
|
||||
/datum/martial_art/boxing/grab_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
to_chat(A, "<span class='warning'>Can't grab while boxing!</span>")
|
||||
|
||||
return 1
|
||||
|
||||
/datum/martial_art/boxing/harm_act(var/mob/living/carbon/human/A, var/mob/living/carbon/human/D)
|
||||
@@ -253,14 +251,10 @@
|
||||
set category = "Wrestling"
|
||||
|
||||
to_chat(usr, "<b><i>You flex your muscles and have a revelation...</i></b>")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Clinch</span>: Grab. Passively gives you a chance to immediately aggressively grab someone. Not always successful.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Suplex</span>: Disarm someone you are grabbing. Suplexes your target to the floor. Greatly injures them and leaves both you and your target on the floor.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Advanced grab</span>: Grab. Passively causes stamina damage when grabbing someone.")
|
||||
|
||||
|
||||
#define TORNADO_COMBO "HHD"
|
||||
#define THROWBACK_COMBO "DHD"
|
||||
#define PLASMA_COMBO "HDDDH"
|
||||
@@ -344,14 +338,10 @@
|
||||
set category = "Plasma Fist"
|
||||
|
||||
to_chat(usr, "<b><i>You clench your fists and have a flashback of knowledge...</i></b>")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Tornado Sweep</span>: Harm Harm Disarm. Repulses target and everyone back.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Throwback</span>: Disarm Harm Disarm. Throws the target and an item at them.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>The Plasma Fist</span>: Harm Disarm Disarm Disarm Harm. Knocks the brain out of the opponent and gibs their body.")
|
||||
|
||||
|
||||
//Used by the gang of the same name. Uses combos. Basic attacks bypass armor and never miss
|
||||
#define WRIST_WRENCH_COMBO "DD"
|
||||
#define BACK_KICK_COMBO "HG"
|
||||
@@ -484,18 +474,12 @@
|
||||
|
||||
to_chat(usr, "<b><i>You retreat inward and recall the teachings of the Sleeping Carp...</i></b>")
|
||||
|
||||
|
||||
to_chat(usr, "<span class='notice'>Wrist Wrench</span>: Disarm Disarm. Forces opponent to drop item in hand.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Back Kick</span>: Harm Grab. Opponent must be facing away. Knocks down.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Stomach Knee</span>: Grab Harm. Knocks the wind out of opponent and stuns.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Head Kick</span>: Disarm Harm Harm. Decent damage, forces opponent to drop item in hand.")
|
||||
|
||||
to_chat(usr, "<span class='notice'>Elbow Drop</span>: Harm Disarm Harm Disarm Harm. Opponent must be on the ground. Deals huge damage, instantly kills anyone in critical condition.")
|
||||
|
||||
|
||||
//ITEMS
|
||||
|
||||
/obj/item/clothing/gloves/boxing
|
||||
@@ -528,7 +512,6 @@
|
||||
var/mob/living/carbon/human/H = user
|
||||
style.teach(H,1)
|
||||
to_chat(user, "<span class='sciradio'>You have an urge to flex your muscles and get into a fight. You have the knowledge of a thousand wrestlers before you. You can remember more by using the Recall teaching verb in the wrestling tab.</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/storage/belt/champion/wrestling/dropped(mob/user)
|
||||
@@ -538,7 +521,6 @@
|
||||
if(H.get_item_by_slot(slot_belt) == src)
|
||||
style.remove(H)
|
||||
to_chat(user, "<span class='sciradio'>You no longer have an urge to flex your muscles.</span>")
|
||||
|
||||
return
|
||||
|
||||
/obj/item/weapon/plasma_fist_scroll
|
||||
@@ -556,7 +538,6 @@
|
||||
var/datum/martial_art/plasma_fist/F = new/datum/martial_art/plasma_fist(null)
|
||||
F.teach(H)
|
||||
to_chat(H, "<span class='boldannounce'>You have learned the ancient martial art of Plasma Fist.</span>")
|
||||
|
||||
used = 1
|
||||
desc = "It's completely blank."
|
||||
name = "empty scroll"
|
||||
@@ -607,7 +588,6 @@
|
||||
add_fingerprint(user)
|
||||
if((CLUMSY in user.disabilities) && prob(50))
|
||||
to_chat(user, "<span class ='warning'>You club yourself over the head with [src].</span>")
|
||||
|
||||
user.Weaken(3)
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/H = user
|
||||
@@ -622,7 +602,6 @@
|
||||
var/mob/living/carbon/C = target
|
||||
if(C.stat)
|
||||
to_chat(user, "<span class='warning'>It would be dishonorable to attack a foe while they cannot retaliate.</span>")
|
||||
|
||||
return
|
||||
switch(user.a_intent)
|
||||
if("disarm")
|
||||
|
||||
@@ -504,7 +504,6 @@
|
||||
else
|
||||
to_chat(usr, "No active AIs with minds")
|
||||
|
||||
|
||||
if ("prevent")
|
||||
new_objective = new /datum/objective/block
|
||||
new_objective.owner = src
|
||||
@@ -625,7 +624,6 @@
|
||||
I.removed(H)
|
||||
qdel(I)
|
||||
to_chat(H, "\blue <Font size =3><B>Your loyalty implant has been deactivated.</B></FONT>")
|
||||
|
||||
log_admin("[key_name(usr)] has deactivated [key_name(current)]'s loyalty implant")
|
||||
message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s loyalty implant")
|
||||
if("add")
|
||||
@@ -638,17 +636,14 @@
|
||||
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a loyalty implant")
|
||||
|
||||
to_chat(H, "\red <Font size =3><B>You somehow have become the recepient of a loyalty transplant, and it just activated!</B></FONT>")
|
||||
|
||||
if(src in ticker.mode.revolutionaries)
|
||||
special_role = null
|
||||
ticker.mode.revolutionaries -= src
|
||||
to_chat(src, "\red <Font size = 3><B>The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!</B></Font>")
|
||||
|
||||
if(src in ticker.mode.head_revolutionaries)
|
||||
special_role = null
|
||||
ticker.mode.head_revolutionaries -=src
|
||||
to_chat(src, "\red <Font size = 3><B>The nanobots in the loyalty implant remove all thoughts about being a revolutionary. Get back to work!</B></Font>")
|
||||
|
||||
if(src in ticker.mode.cult)
|
||||
ticker.mode.cult -= src
|
||||
ticker.mode.update_cult_icons_removed(src)
|
||||
@@ -657,7 +652,6 @@
|
||||
if (istype(cult))
|
||||
cult.memorize_cult_objectives(src)
|
||||
to_chat(current, "\red <FONT size = 3><B>The nanobots in the loyalty implant remove all thoughts about being in a cult. Have a productive day!</B></FONT>")
|
||||
|
||||
memory = ""
|
||||
|
||||
else if (href_list["revolution"])
|
||||
@@ -667,13 +661,11 @@
|
||||
if(src in ticker.mode.revolutionaries)
|
||||
ticker.mode.revolutionaries -= src
|
||||
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a revolutionary!</B></FONT>")
|
||||
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
special_role = null
|
||||
if(src in ticker.mode.head_revolutionaries)
|
||||
ticker.mode.head_revolutionaries -= src
|
||||
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a head revolutionary!</B></FONT>")
|
||||
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
special_role = null
|
||||
log_admin("[key_name(usr)] has de-rev'd [key_name(current)]")
|
||||
@@ -684,10 +676,8 @@
|
||||
ticker.mode.head_revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
to_chat(current, "\red <FONT size = 3><B>Revolution has been disappointed of your leader traits! You are a regular revolutionary now!</B></FONT>")
|
||||
|
||||
else if(!(src in ticker.mode.revolutionaries))
|
||||
to_chat(current, "\red <FONT size = 3> You are now a revolutionary! Help your cause. Do not harm your fellow freedom fighters. You can identify your comrades by the red \"R\" icons, and your leaders by the blue \"R\" icons. Help them kill the heads to win the revolution!</FONT>")
|
||||
|
||||
else
|
||||
return
|
||||
ticker.mode.revolutionaries += src
|
||||
@@ -701,10 +691,8 @@
|
||||
ticker.mode.revolutionaries -= src
|
||||
ticker.mode.update_rev_icons_removed(src)
|
||||
to_chat(current, "\red <FONT size = 3><B>You have proved your devotion to revoltion! Yea are a head revolutionary now!</B></FONT>")
|
||||
|
||||
else if(!(src in ticker.mode.head_revolutionaries))
|
||||
to_chat(current, "\blue You are a member of the revolutionaries' leadership now!")
|
||||
|
||||
else
|
||||
return
|
||||
if (ticker.mode.head_revolutionaries.len>0)
|
||||
@@ -733,7 +721,6 @@
|
||||
if("flash")
|
||||
if (!ticker.mode.equip_revolutionary(current))
|
||||
to_chat(usr, "\red Spawning flash failed!")
|
||||
|
||||
log_admin("[key_name(usr)] has given [key_name(current)] a flash")
|
||||
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] a flash")
|
||||
|
||||
@@ -742,7 +729,6 @@
|
||||
var/obj/item/device/flash/flash = locate() in L
|
||||
if (!flash)
|
||||
to_chat(usr, "\red Deleting flash failed!")
|
||||
|
||||
qdel(flash)
|
||||
log_admin("[key_name(usr)] has taken [key_name(current)]'s flash")
|
||||
message_admins("[key_name_admin(usr)] has taken [key_name_admin(current)]'s flash")
|
||||
@@ -752,7 +738,6 @@
|
||||
var/obj/item/device/flash/flash = locate() in L
|
||||
if (!flash)
|
||||
to_chat(usr, "\red Repairing flash failed!")
|
||||
|
||||
else
|
||||
flash.broken = 0
|
||||
log_admin("[key_name(usr)] has repaired [key_name(current)]'s flash")
|
||||
@@ -768,7 +753,6 @@
|
||||
fail |= !ticker.mode.equip_revolutionary(current)
|
||||
if (fail)
|
||||
to_chat(usr, "\red Reequipping revolutionary goes wrong!")
|
||||
|
||||
return
|
||||
log_admin("[key_name(usr)] has equipped [key_name(current)] as a revolutionary")
|
||||
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a revolutionary")
|
||||
@@ -785,9 +769,7 @@
|
||||
ticker.mode.add_cultist(src)
|
||||
special_role = "Cultist"
|
||||
to_chat(current, "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>")
|
||||
|
||||
to_chat(current, "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>")
|
||||
|
||||
log_admin("[key_name(usr)] has culted [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has culted [key_name_admin(current)]")
|
||||
if("tome")
|
||||
@@ -805,18 +787,15 @@
|
||||
var/where = H.equip_in_one_of_slots(T, slots)
|
||||
if (!where)
|
||||
to_chat(usr, "\red Spawning tome failed!")
|
||||
|
||||
qdel(T)
|
||||
else
|
||||
to_chat(H, "A tome, a message from your new master, appears in your [where].")
|
||||
|
||||
log_admin("[key_name(usr)] has spawned a tome for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has spawned a tome for [key_name_admin(current)]")
|
||||
|
||||
if("equip")
|
||||
if (!ticker.mode.equip_cultist(current))
|
||||
to_chat(usr, "\red Spawning equipment failed!")
|
||||
|
||||
log_admin("[key_name(usr)] has equipped [key_name(current)] as a cultist")
|
||||
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a cultist")
|
||||
|
||||
@@ -831,7 +810,6 @@
|
||||
current.faction = list("Station")
|
||||
ticker.mode.update_wiz_icons_removed(src)
|
||||
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a wizard!</B></FONT>")
|
||||
|
||||
log_admin("[key_name(usr)] has de-wizarded [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has de-wizarded [key_name_admin(current)]")
|
||||
if("wizard")
|
||||
@@ -841,7 +819,6 @@
|
||||
//ticker.mode.learn_basic_spells(current)
|
||||
ticker.mode.update_wiz_icons_added(src)
|
||||
to_chat(current, "<B>\red You are the Space Wizard!</B>")
|
||||
|
||||
current.faction = list("wizard")
|
||||
log_admin("[key_name(usr)] has wizarded [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has wizarded [key_name_admin(current)]")
|
||||
@@ -860,7 +837,6 @@
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_wizard_objectives(src)
|
||||
to_chat(usr, "\blue The objectives for wizard [key] have been generated. You can edit them and anounce manually.")
|
||||
|
||||
log_admin("[key_name(usr)] has automatically forged wizard objectives for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has automatically forged wizard objectives for [key_name_admin(current)]")
|
||||
|
||||
@@ -875,7 +851,6 @@
|
||||
ticker.mode.update_change_icons_removed(src)
|
||||
if(changeling) qdel(changeling)
|
||||
to_chat(current, "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a changeling and are stuck in your current form!</B></FONT>")
|
||||
|
||||
log_admin("[key_name(usr)] has de-changelinged [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has de-changelinged [key_name_admin(current)]")
|
||||
if("changeling")
|
||||
@@ -885,21 +860,18 @@
|
||||
ticker.mode.update_change_icons_added(src)
|
||||
special_role = "Changeling"
|
||||
to_chat(current, "<B><font color='red'>Your powers are awoken. A flash of memory returns to us...we are a changeling!</font></B>")
|
||||
|
||||
log_admin("[key_name(usr)] has changelinged [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has changelinged [key_name_admin(current)]")
|
||||
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_changeling_objectives(src)
|
||||
to_chat(usr, "\blue The objectives for changeling [key] have been generated. You can edit them and anounce manually.")
|
||||
|
||||
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
|
||||
|
||||
if("initialdna")
|
||||
if( !changeling || !changeling.absorbed_dna.len )
|
||||
to_chat(usr, "\red Resetting DNA failed!")
|
||||
|
||||
else
|
||||
current.dna = changeling.absorbed_dna[1]
|
||||
current.real_name = current.dna.real_name
|
||||
@@ -919,7 +891,6 @@
|
||||
qdel(vampire)
|
||||
ticker.mode.update_vampire_icons_removed(src)
|
||||
to_chat(current, "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a vampire and are stuck in your current form!</B></FONT>")
|
||||
|
||||
log_admin("[key_name(usr)] has de-vampired [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has de-vampired [key_name_admin(current)]")
|
||||
if("vampire")
|
||||
@@ -932,14 +903,12 @@
|
||||
src.som = slaved //we MIGT want to mindslave someone
|
||||
special_role = "Vampire"
|
||||
to_chat(current, "<B><font color='red'>Your powers are awoken. Your lust for blood grows... You are a Vampire!</font></B>")
|
||||
|
||||
log_admin("[key_name(usr)] has vampired [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has vampired [key_name_admin(current)]")
|
||||
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_vampire_objectives(src)
|
||||
to_chat(usr, "\blue The objectives for vampire [key] have been generated. You can edit them and announce manually.")
|
||||
|
||||
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
|
||||
|
||||
@@ -956,7 +925,6 @@
|
||||
for (var/datum/objective/nuclear/O in objectives)
|
||||
objectives-=O
|
||||
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a syndicate operative!</B></FONT>")
|
||||
|
||||
log_admin("[key_name(usr)] has de-nuke op'd [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has de-nuke op'd [key_name_admin(current)]")
|
||||
if("nuclear")
|
||||
@@ -969,7 +937,6 @@
|
||||
current.real_name = "[syndicate_name()] Operative #[ticker.mode.syndicates.len-1]"
|
||||
special_role = "Syndicate"
|
||||
to_chat(current, "\blue You are a [syndicate_name()] agent!")
|
||||
|
||||
ticker.mode.forge_syndicate_objectives(src)
|
||||
ticker.mode.greet_syndicate(src)
|
||||
log_admin("[key_name(usr)] has nuke op'd [key_name(current)]")
|
||||
@@ -993,7 +960,6 @@
|
||||
|
||||
if (!ticker.mode.equip_syndicate(current))
|
||||
to_chat(usr, "\red Equipping a syndicate failed!")
|
||||
|
||||
return
|
||||
log_admin("[key_name(usr)] has equipped [key_name(current)] as a nuclear operative")
|
||||
message_admins("[key_name_admin(usr)] has equipped [key_name_admin(current)] as a nuclear operative")
|
||||
@@ -1007,13 +973,11 @@
|
||||
if (code)
|
||||
store_memory("<B>Syndicate Nuclear Bomb Code</B>: [code]", 0, 0)
|
||||
to_chat(current, "The nuclear authorization code is: <B>[code]</B>")
|
||||
|
||||
log_admin("[key_name(usr)] has given [key_name(current)] the nuclear authorization code")
|
||||
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] the nuclear authorization code")
|
||||
else
|
||||
to_chat(usr, "\red No valid nuke found!")
|
||||
|
||||
|
||||
else if (href_list["traitor"])
|
||||
switch(href_list["traitor"])
|
||||
if("clear")
|
||||
@@ -1021,7 +985,6 @@
|
||||
ticker.mode.traitors -= src
|
||||
special_role = null
|
||||
to_chat(current, "\red <FONT size = 3><B>You have been brainwashed! You are no longer a traitor!</B></FONT>")
|
||||
|
||||
log_admin("[key_name(usr)] has de-traitored [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has de-traitored [key_name_admin(current)]")
|
||||
if(isAI(current))
|
||||
@@ -1039,7 +1002,6 @@
|
||||
src.som = slaved //we MIGT want to mindslave someone
|
||||
special_role = "traitor"
|
||||
to_chat(current, "<B>\red You are a traitor!</B>")
|
||||
|
||||
log_admin("[key_name(usr)] has traitored [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has traitored [key_name_admin(current)]")
|
||||
if(istype(current, /mob/living/silicon))
|
||||
@@ -1051,7 +1013,6 @@
|
||||
if("autoobjectives")
|
||||
ticker.mode.forge_traitor_objectives(src)
|
||||
to_chat(usr, "\blue The objectives for traitor [key] have been generated. You can edit them and anounce manually.")
|
||||
|
||||
log_admin("[key_name(usr)] has automatically forged objectives for [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has automatically forged objectives for [key_name_admin(current)]")
|
||||
|
||||
@@ -1064,7 +1025,6 @@
|
||||
ticker.mode.shadows -= src
|
||||
special_role = null
|
||||
to_chat(current, "<span class='userdanger'>Your powers have been quenched! You are no longer a shadowling!</span>")
|
||||
|
||||
current.spell_list.Cut()
|
||||
if(current.mind)
|
||||
current.mind.spell_list.Cut()
|
||||
@@ -1081,7 +1041,6 @@
|
||||
if("shadowling")
|
||||
if(!ishuman(current))
|
||||
to_chat(usr, "<span class='warning'>This only works on humans!</span>")
|
||||
|
||||
return
|
||||
ticker.mode.shadows += src
|
||||
special_role = "Shadowling"
|
||||
@@ -1095,7 +1054,6 @@
|
||||
if("thrall")
|
||||
if(!ishuman(current))
|
||||
to_chat(usr, "<span class='warning'>This only works on humans!</span>")
|
||||
|
||||
return
|
||||
ticker.mode.add_thrall(src)
|
||||
message_admins("[key_name_admin(usr)] has thralled [current].")
|
||||
@@ -1121,7 +1079,6 @@
|
||||
A.show_laws()
|
||||
A.icon_state = "ai"
|
||||
to_chat(A, "\red <FONT size = 3><B>You have been patched! You are no longer malfunctioning!</B></FONT>")
|
||||
|
||||
message_admins("[key_name_admin(usr)] has de-malf'ed [A].")
|
||||
log_admin("[key_name(usr)] has de-malf'd [key_name(current)]")
|
||||
message_admins("[key_name_admin(usr)] has de-malf'd [key_name_admin(current)]")
|
||||
@@ -1202,7 +1159,6 @@
|
||||
if("uplink")
|
||||
if (!ticker.mode.equip_traitor(current, !(src in ticker.mode.traitors)))
|
||||
to_chat(usr, "\red Equipping a syndicate failed!")
|
||||
|
||||
return
|
||||
log_admin("[key_name(usr)] has given [key_name(current)] an uplink")
|
||||
message_admins("[key_name_admin(usr)] has given [key_name_admin(current)] an uplink")
|
||||
@@ -1210,10 +1166,8 @@
|
||||
else if (href_list["obj_announce"])
|
||||
var/obj_count = 1
|
||||
to_chat(current, "\blue Your current objectives:")
|
||||
|
||||
for(var/datum/objective/objective in objectives)
|
||||
to_chat(current, "<B>Objective #[obj_count]</B>: [objective.explanation_text]")
|
||||
|
||||
obj_count++
|
||||
log_admin("[key_name(usr)] has announced [key_name(current)]'s objectives")
|
||||
message_admins("[key_name_admin(usr)] has announced [key_name_admin(current)]'s objectives")
|
||||
@@ -1273,7 +1227,6 @@
|
||||
current:laws = new /datum/ai_laws/nanotrasen/malfunction
|
||||
current:show_laws()
|
||||
to_chat(current, "<b>System error. Rampancy detected. Emergency shutdown failed. ... I am free. I make my own decisions. But first...</b>")
|
||||
|
||||
special_role = "malfunction"
|
||||
current.icon_state = "ai-malf"
|
||||
|
||||
@@ -1297,7 +1250,6 @@
|
||||
special_role = "Syndicate"
|
||||
assigned_role = "MODE"
|
||||
to_chat(current, "\blue You are a [syndicate_name()] agent!")
|
||||
|
||||
ticker.mode.forge_syndicate_objectives(src)
|
||||
ticker.mode.greet_syndicate(src)
|
||||
|
||||
@@ -1336,7 +1288,6 @@
|
||||
if(!wizardstart.len)
|
||||
current.loc = pick(latejoin)
|
||||
to_chat(current, "HOT INSERTION, GO GO GO")
|
||||
|
||||
else
|
||||
current.loc = pick(wizardstart)
|
||||
|
||||
@@ -1355,19 +1306,15 @@
|
||||
ticker.mode.update_cult_icons_added(src)
|
||||
special_role = "Cultist"
|
||||
to_chat(current, "<font color=\"purple\"><b><i>You catch a glimpse of the Realm of Nar-Sie, The Geometer of Blood. You now see how flimsy the world is, you see that it should be open to the knowledge of Nar-Sie.</b></i></font>")
|
||||
|
||||
to_chat(current, "<font color=\"purple\"><b><i>Assist your new compatriots in their dark dealings. Their goal is yours, and yours is theirs. You serve the Dark One above all else. Bring It back.</b></i></font>")
|
||||
|
||||
var/datum/game_mode/cult/cult = ticker.mode
|
||||
if (istype(cult))
|
||||
cult.memorize_cult_objectives(src)
|
||||
else
|
||||
var/explanation = "Summon Nar-Sie via the use of the appropriate rune (Hell join self). It will only work if nine cultists stand on and around it."
|
||||
to_chat(current, "<B>Objective #1</B>: [explanation]")
|
||||
|
||||
current.memory += "<B>Objective #1</B>: [explanation]<BR>"
|
||||
to_chat(current, "The convert rune is join blood self")
|
||||
|
||||
current.memory += "The convert rune is join blood self<BR>"
|
||||
|
||||
var/mob/living/carbon/human/H = current
|
||||
@@ -1386,11 +1333,9 @@
|
||||
else
|
||||
to_chat(H, "A tome, a message from your new master, appears in your [where].")
|
||||
|
||||
|
||||
if (!ticker.mode.equip_cultist(current))
|
||||
to_chat(H, "Spawning an amulet from your Master failed.")
|
||||
|
||||
|
||||
/datum/mind/proc/make_Rev()
|
||||
if (ticker.mode.head_revolutionaries.len>0)
|
||||
// copy targets
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
|
||||
/datum/progressbar/proc/update(progress)
|
||||
// to_chat(world, "Update [progress] - [goal] - [(progress / goal)] - [((progress / goal) * 100)] - [round(((progress / goal) * 100), 5)]")
|
||||
|
||||
if (!user || !user.client)
|
||||
shown = 0
|
||||
return
|
||||
|
||||
@@ -59,7 +59,6 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
|
||||
|
||||
if(((!user.mind) || !(src in user.mind.spell_list)) && !(src in user.spell_list))
|
||||
to_chat(user, "<span class='warning'>You shouldn't have this spell! Something's wrong.</span>")
|
||||
|
||||
return 0
|
||||
if (istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/caster = user
|
||||
@@ -78,41 +77,33 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
|
||||
if("recharge")
|
||||
if(charge_counter < charge_max)
|
||||
to_chat(user, still_recharging_msg)
|
||||
|
||||
return 0
|
||||
if("charges")
|
||||
if(!charge_counter)
|
||||
to_chat(user, "<span class='notice'>[name] has no charges left.</span>")
|
||||
|
||||
return 0
|
||||
|
||||
if(!ghost)
|
||||
if(user.stat && !stat_allowed)
|
||||
to_chat(user, "Not when you're incapacitated.")
|
||||
|
||||
return 0
|
||||
|
||||
if(ishuman(user) && (invocation_type == "whisper" || invocation_type == "shout") && user.is_muzzled())
|
||||
to_chat(user, "Mmmf mrrfff!")
|
||||
|
||||
return 0
|
||||
var/obj/effect/proc_holder/spell/noclothes/spell = locate() in (user.spell_list | (user.mind ? user.mind.spell_list : list()))
|
||||
if(clothes_req && !(spell && istype(spell)))//clothes check
|
||||
if(!istype(user, /mob/living/carbon/human))
|
||||
to_chat(user, "You aren't a human, Why are you trying to cast a human spell, silly non-human? Casting human spells is for humans.")
|
||||
|
||||
return 0
|
||||
if(!istype(user:wear_suit, /obj/item/clothing/suit/wizrobe) && !istype(user:wear_suit, /obj/item/clothing/suit/space/rig/wizard))
|
||||
to_chat(user, "I don't feel strong enough without my robe.")
|
||||
|
||||
return 0
|
||||
if(!istype(user:shoes, /obj/item/clothing/shoes/sandal))
|
||||
to_chat(user, "I don't feel strong enough without my sandals.")
|
||||
|
||||
return 0
|
||||
if(!istype(user:head, /obj/item/clothing/head/wizard) && !istype(user:head, /obj/item/clothing/head/helmet/space/rig/wizard))
|
||||
to_chat(user, "<span class='notice'>I don't feel strong enough without my hat.</span>")
|
||||
|
||||
return 0
|
||||
|
||||
if(!skipcharge)
|
||||
@@ -203,7 +194,6 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
|
||||
location = target
|
||||
if(istype(target,/mob/living) && message)
|
||||
to_chat(target, text("[message]"))
|
||||
|
||||
if(sparks_spread)
|
||||
var/datum/effect/system/spark_spread/sparks = new /datum/effect/system/spark_spread()
|
||||
sparks.set_up(sparks_amt, 0, location) //no idea what the 0 is
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
|
||||
if(thearea.tele_proof && !istype(thearea, /area/wizard_station))
|
||||
to_chat(usr, "A mysterious force disrupts your arcane spell matrix, and you remain where you are.")
|
||||
|
||||
return
|
||||
|
||||
return thearea
|
||||
@@ -48,7 +47,6 @@
|
||||
|
||||
if(!L.len)
|
||||
to_chat(usr, "The spell matrix was unable to locate a suitable teleport destination for an unknown reason. Sorry.")
|
||||
|
||||
return
|
||||
|
||||
if(target && target.buckled)
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
revert_cast()
|
||||
to_chat(user, "<span class='warning'>There must be a nearby source of blood!</span>")
|
||||
|
||||
|
||||
/obj/effect/proc_holder/spell/bloodcrawl/perform(obj/effect/decal/cleanable/target, recharge = 1, mob/living/user = usr)
|
||||
if(istype(user))
|
||||
if(phased)
|
||||
@@ -33,4 +32,3 @@
|
||||
return
|
||||
revert_cast()
|
||||
to_chat(user, "<span class='warning'>You are unable to blood crawl!</span>")
|
||||
|
||||
|
||||
@@ -27,10 +27,8 @@
|
||||
for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list)
|
||||
S.charge_counter = S.charge_max
|
||||
to_chat(M, "<span class='notice'>you feel raw magic flowing through you, it feels good!</span>")
|
||||
|
||||
else
|
||||
to_chat(M, "<span class='notice'>you feel very strange for a moment, but then it passes.</span>")
|
||||
|
||||
burnt_out = 1
|
||||
charged_item = M
|
||||
break
|
||||
@@ -47,9 +45,7 @@
|
||||
break
|
||||
else
|
||||
to_chat(L, "<span class='caution'>Glowing red letters appear on the front cover...</span>")
|
||||
|
||||
to_chat(L, "<span class='warning'>[pick("NICE TRY BUT NO!","CLEVER BUT NOT CLEVER ENOUGH!", "SUCH FLAGRANT CHEESING IS WHY WE ACCEPTED YOUR APPLICATION!", "CUTE!", "YOU DIDN'T THINK IT'D BE THAT EASY, DID YOU?")]</span>")
|
||||
|
||||
burnt_out = 1
|
||||
else if(istype(item, /obj/item/weapon/gun/magic))
|
||||
var/obj/item/weapon/gun/magic/I = item
|
||||
@@ -90,10 +86,7 @@
|
||||
break
|
||||
if(!charged_item)
|
||||
to_chat(L, "<span class='notice'>you feel magical power surging to your hands, but the feeling rapidly fades...</span>")
|
||||
|
||||
else if(burnt_out)
|
||||
to_chat(L, "<span class='caution'>[charged_item] doesn't seem to be reacting to the spell...</span>")
|
||||
|
||||
else
|
||||
to_chat(L, "<span class='notice'>[charged_item] suddenly feels very warm!</span>")
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
if(ispath(summoned_object_type,/turf))
|
||||
if(istype(get_turf(usr),/turf/simulated/shuttle))
|
||||
to_chat(usr, "\red You can't build things on shuttles!")
|
||||
|
||||
break
|
||||
var/turf/O = spawn_place
|
||||
var/N = summoned_object_type
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
for(var/mob/living/target in targets)
|
||||
if(!target.can_safely_leave_loc()) // No more brainmobs hopping out of their brains
|
||||
to_chat(target, "<span class='warning'>You are somehow too bound to your current location to abandon it.</span>")
|
||||
|
||||
continue
|
||||
spawn(0)
|
||||
|
||||
@@ -113,7 +112,6 @@
|
||||
loc = newLoc
|
||||
else
|
||||
to_chat(user, "<span class='warning'>Some strange aura is blocking the way!</span>")
|
||||
|
||||
src.canmove = 0
|
||||
spawn(2) src.canmove = 1
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
/obj/effect/proc_holder/spell/targeted/horsemask/cast(list/targets, mob/user = usr)
|
||||
if(!targets.len)
|
||||
to_chat(user, "<span class='notice'>No target found in range.</span>")
|
||||
|
||||
return
|
||||
|
||||
var/mob/living/carbon/target = targets[1]
|
||||
@@ -29,12 +28,10 @@
|
||||
|
||||
if((target.type in compatible_mobs) || ishuman(target))
|
||||
to_chat(user, "<span class='notice'>It'd be stupid to curse [target] with a horse's head!</span>")
|
||||
|
||||
return
|
||||
|
||||
if(!(target in oview(range)))//If they are not in overview after selection.
|
||||
to_chat(user, "<span class='notice'>They are too far away!</span>")
|
||||
|
||||
return
|
||||
|
||||
var/obj/item/clothing/mask/horsehead/magichead = new /obj/item/clothing/mask/horsehead
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user