mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 12:29:46 +01:00
Updates subsystem definitions to new standards. (#17470)
* My heart is dragging me down into... ...oblivion! * drifting closer to the edge but she won't have me * ever round me we are dead before we meet her * for the last time * wake up in sweat * n * fff * uff --------- Co-authored-by: Matt Atlas <liermattia@gmail.com>
This commit is contained in:
@@ -1258,7 +1258,7 @@ var/list/admin_verbs_cciaa = list(
|
||||
return
|
||||
|
||||
var/mission_name = input("Enter Mission Name or press cancel to Reset","Mission Name") as null|text
|
||||
SSpersist_config.forced_awaymission = mission_name
|
||||
SSpersistent_configuration.forced_awaymission = mission_name
|
||||
|
||||
if(!mission_name)
|
||||
log_and_message_admins("reset the forced away mission.")
|
||||
|
||||
@@ -407,7 +407,7 @@
|
||||
message_admins("<span class='notice'>[key_name_admin(usr)] set the mode as [master_mode].</span>", 1)
|
||||
to_world("<span class='notice'><b>The mode is now: [master_mode]</b></span>")
|
||||
Game() // updates the main game menu
|
||||
SSpersist_config.last_gamemode = master_mode
|
||||
SSpersistent_configuration.last_gamemode = master_mode
|
||||
.(href, list("c_mode"=1))
|
||||
|
||||
else if(href_list["f_secret2"])
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
if (config.fastboot)
|
||||
return
|
||||
if (!ao_queued)
|
||||
SSocclusion.queue += src
|
||||
SSao.queue += src
|
||||
|
||||
var/new_level = rebuild ? AO_UPDATE_REBUILD : AO_UPDATE_OVERLAY
|
||||
if (ao_queued < new_level)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
log_and_message_admins("has triggered a global ambient occlusion rebuild.")
|
||||
to_chat(usr, "Beginning global AO rebuild.")
|
||||
|
||||
SSocclusion.disable()
|
||||
SSao.disable()
|
||||
|
||||
for (var/turf/T in world) // Yes, in world.
|
||||
T.ao_neighbors = null // To force a recalc.
|
||||
@@ -18,6 +18,6 @@
|
||||
|
||||
CHECK_TICK
|
||||
|
||||
SSocclusion.enable()
|
||||
SSao.enable()
|
||||
|
||||
to_chat(usr, "AO rebuild complete.")
|
||||
|
||||
@@ -83,33 +83,33 @@
|
||||
/obj/item/battle_monsters/card/proc/Generate_Card(var/prefix,var/root,var/title,var/trap,var/spell)
|
||||
|
||||
if(trap)
|
||||
trap_datum = SSbattlemonsters.FindMatchingTrap(trap,TRUE)
|
||||
trap_datum = SSbattle_monsters.FindMatchingTrap(trap,TRUE)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(spell)
|
||||
spell_datum = SSbattlemonsters.FindMatchingSpell(spell,TRUE)
|
||||
spell_datum = SSbattle_monsters.FindMatchingSpell(spell,TRUE)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(prefix)
|
||||
prefix_datum = SSbattlemonsters.FindMatchingPrefix(prefix,TRUE)
|
||||
prefix_datum = SSbattle_monsters.FindMatchingPrefix(prefix,TRUE)
|
||||
else
|
||||
prefix_datum = SSbattlemonsters.GetRandomPrefix()
|
||||
prefix_datum = SSbattle_monsters.GetRandomPrefix()
|
||||
|
||||
if(root)
|
||||
root_datum = SSbattlemonsters.FindMatchingRoot(root,TRUE)
|
||||
root_datum = SSbattle_monsters.FindMatchingRoot(root,TRUE)
|
||||
else
|
||||
root_datum = SSbattlemonsters.GetRandomRoot()
|
||||
root_datum = SSbattle_monsters.GetRandomRoot()
|
||||
|
||||
var/rarity_score = prefix_datum.rarity_score + root_datum.rarity_score
|
||||
|
||||
if(title)
|
||||
suffix_datum = SSbattlemonsters.FindMatchingSuffix(title,TRUE)
|
||||
suffix_datum = SSbattle_monsters.FindMatchingSuffix(title,TRUE)
|
||||
else if(rarity_score >= 3)
|
||||
suffix_datum = SSbattlemonsters.GetRandomSuffix()
|
||||
suffix_datum = SSbattle_monsters.GetRandomSuffix()
|
||||
else
|
||||
suffix_datum = SSbattlemonsters.FindMatchingSuffix("no_title",TRUE)
|
||||
suffix_datum = SSbattle_monsters.FindMatchingSuffix("no_title",TRUE)
|
||||
|
||||
/obj/item/battle_monsters/card/update_icon()
|
||||
|
||||
@@ -173,11 +173,11 @@
|
||||
return
|
||||
|
||||
if(trap_datum)
|
||||
SSbattlemonsters.ExamineTrapCard(user,trap_datum)
|
||||
SSbattle_monsters.ExamineTrapCard(user,trap_datum)
|
||||
else if(spell_datum)
|
||||
SSbattlemonsters.ExamineSpellCard(user,spell_datum)
|
||||
SSbattle_monsters.ExamineSpellCard(user,spell_datum)
|
||||
else
|
||||
SSbattlemonsters.ExamineMonsterCard(user,prefix_datum,root_datum,suffix_datum)
|
||||
SSbattle_monsters.ExamineMonsterCard(user,prefix_datum,root_datum,suffix_datum)
|
||||
|
||||
/obj/item/battle_monsters/card/MouseEntered(location, control, params)
|
||||
. = ..()
|
||||
@@ -186,13 +186,13 @@
|
||||
var/card_content = desc
|
||||
if(trap_datum)
|
||||
card_title = trap_datum.name
|
||||
card_content = SSbattlemonsters.FormatSpellText(SSbattlemonsters.GetTrapFormatting(FALSE), trap_datum, FALSE)
|
||||
card_content = SSbattle_monsters.FormatSpellText(SSbattle_monsters.GetTrapFormatting(FALSE), trap_datum, FALSE)
|
||||
else if(spell_datum)
|
||||
card_title = spell_datum.name
|
||||
card_content = SSbattlemonsters.FormatSpellText(SSbattlemonsters.GetSpellFormatting(FALSE), spell_datum, FALSE)
|
||||
card_content = SSbattle_monsters.FormatSpellText(SSbattle_monsters.GetSpellFormatting(FALSE), spell_datum, FALSE)
|
||||
else
|
||||
card_title = root_datum.name
|
||||
card_content = SSbattlemonsters.FormatMonsterText(SSbattlemonsters.GetMonsterFormatting(FALSE), prefix_datum, root_datum, suffix_datum, FALSE)
|
||||
card_content = SSbattle_monsters.FormatMonsterText(SSbattle_monsters.GetMonsterFormatting(FALSE), prefix_datum, root_datum, suffix_datum, FALSE)
|
||||
openToolTip(usr, src, params, card_title, card_content)
|
||||
|
||||
/obj/item/battle_monsters/card/MouseExited(location, control, params)
|
||||
|
||||
@@ -21,9 +21,9 @@
|
||||
var/list/deck_data = list()
|
||||
for(var/i=1,i <= contained_cards,i++)
|
||||
CHECK_TICK //This stuff is a little intensive I think.
|
||||
var/datum/battle_monsters/selected_prefix = SSbattlemonsters.GetRandomPrefix_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_root = SSbattlemonsters.FindMatchingRoot(pickweight(species))
|
||||
var/datum/battle_monsters/selected_suffix = SSbattlemonsters.GetRandomSuffix_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_prefix = SSbattle_monsters.GetRandomPrefix_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_root = SSbattle_monsters.FindMatchingRoot(pickweight(species))
|
||||
var/datum/battle_monsters/selected_suffix = SSbattle_monsters.GetRandomSuffix_Filtered(rarity_min,rarity_max)
|
||||
deck_data += "[selected_prefix.id],[selected_root.id],[(selected_prefix.rarity_score + selected_root.rarity_score) >= 3 ? selected_suffix.id : "no_title"]"
|
||||
|
||||
generated_deck.stored_card_names = deck_data
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
/obj/item/battle_monsters/deck/proc/take_specific_card(var/mob/user, var/card_id)
|
||||
if(card_id in stored_card_names)
|
||||
var/obj/item/battle_monsters/card/new_card = SSbattlemonsters.CreateCard(card_id,src.loc)
|
||||
var/obj/item/battle_monsters/card/new_card = SSbattle_monsters.CreateCard(card_id,src.loc)
|
||||
|
||||
if(!user.get_active_hand())
|
||||
user.put_in_active_hand(new_card)
|
||||
@@ -167,14 +167,14 @@
|
||||
var/list/splitstring = dd_text2List(cardname,",")
|
||||
var/formatted_data
|
||||
if(splitstring[1] == "spell_type")
|
||||
formatted_data = SSbattlemonsters.FormatSpellText(SSbattlemonsters.GetSpellFormatting(),SSbattlemonsters.FindMatchingSpell(splitstring[2]))
|
||||
formatted_data = SSbattle_monsters.FormatSpellText(SSbattle_monsters.GetSpellFormatting(),SSbattle_monsters.FindMatchingSpell(splitstring[2]))
|
||||
else if(splitstring[1] == "trap_type")
|
||||
formatted_data = SSbattlemonsters.FormatSpellText(SSbattlemonsters.GetTrapFormatting(),SSbattlemonsters.FindMatchingTrap(splitstring[2]))
|
||||
formatted_data = SSbattle_monsters.FormatSpellText(SSbattle_monsters.GetTrapFormatting(),SSbattle_monsters.FindMatchingTrap(splitstring[2]))
|
||||
else
|
||||
var/datum/battle_monsters/element/prefix_datum = SSbattlemonsters.FindMatchingPrefix(splitstring[1])
|
||||
var/datum/battle_monsters/monster/root_datum = SSbattlemonsters.FindMatchingRoot(splitstring[2])
|
||||
var/datum/battle_monsters/title/suffix_datum = SSbattlemonsters.FindMatchingSuffix(splitstring[3])
|
||||
formatted_data = SSbattlemonsters.FormatMonsterText(SSbattlemonsters.GetMonsterFormatting(),prefix_datum,root_datum,suffix_datum)
|
||||
var/datum/battle_monsters/element/prefix_datum = SSbattle_monsters.FindMatchingPrefix(splitstring[1])
|
||||
var/datum/battle_monsters/monster/root_datum = SSbattle_monsters.FindMatchingRoot(splitstring[2])
|
||||
var/datum/battle_monsters/title/suffix_datum = SSbattle_monsters.FindMatchingSuffix(splitstring[3])
|
||||
formatted_data = SSbattle_monsters.FormatMonsterText(SSbattle_monsters.GetMonsterFormatting(),prefix_datum,root_datum,suffix_datum)
|
||||
|
||||
browse_data = "[formatted_data]<br><a href='?src=\ref[src];selection=[cardname]'>Draw Card</a><br><hr>[browse_data]"
|
||||
|
||||
|
||||
@@ -13,16 +13,16 @@
|
||||
CHECK_TICK //This stuff is a little intensive I think.
|
||||
if(prob(25))
|
||||
if(prob(50))
|
||||
var/datum/battle_monsters/selected_trap = SSbattlemonsters.GetRandomTrap()
|
||||
var/datum/battle_monsters/selected_trap = SSbattle_monsters.GetRandomTrap()
|
||||
deck_data += "trap_type,[selected_trap.id],no_title"
|
||||
else
|
||||
var/datum/battle_monsters/selected_spell = SSbattlemonsters.GetRandomSpell()
|
||||
var/datum/battle_monsters/selected_spell = SSbattle_monsters.GetRandomSpell()
|
||||
deck_data += "spell_type,[selected_spell.id],no_title"
|
||||
continue
|
||||
|
||||
var/datum/battle_monsters/selected_prefix = SSbattlemonsters.GetRandomPrefix_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_root = SSbattlemonsters.GetRandomRoot_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_suffix = SSbattlemonsters.GetRandomSuffix_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_prefix = SSbattle_monsters.GetRandomPrefix_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_root = SSbattle_monsters.GetRandomRoot_Filtered(rarity_min,rarity_max)
|
||||
var/datum/battle_monsters/selected_suffix = SSbattle_monsters.GetRandomSuffix_Filtered(rarity_min,rarity_max)
|
||||
deck_data += "[selected_prefix.id],[selected_root.id],[(selected_prefix.rarity_score + selected_root.rarity_score) >= 3 ? selected_suffix.id : "no_title"]"
|
||||
|
||||
generated_deck.stored_card_names = deck_data
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
|
||||
spark_system = bind_spark(src, 5)
|
||||
|
||||
START_PROCESSING(SSmob, src)
|
||||
START_PROCESSING(SSmobs, src)
|
||||
|
||||
last_remote_message = world.time
|
||||
|
||||
@@ -191,7 +191,7 @@
|
||||
/obj/item/rig/Destroy()
|
||||
for(var/obj/item/piece in list(gloves,boots,helmet,chest))
|
||||
qdel(piece)
|
||||
STOP_PROCESSING(SSmob, src)
|
||||
STOP_PROCESSING(SSmobs, src)
|
||||
qdel(wires)
|
||||
wires = null
|
||||
qdel(spark_system)
|
||||
|
||||
@@ -28,15 +28,15 @@
|
||||
|
||||
/mob/abstract/eye/New()
|
||||
ghostimage = image(src.icon,src,src.icon_state)
|
||||
SSmob.ghost_darkness_images |= ghostimage //so ghosts can see the eye when they disable darkness
|
||||
SSmob.ghost_sightless_images |= ghostimage //so ghosts can see the eye when they disable ghost sight
|
||||
SSmobs.ghost_darkness_images |= ghostimage //so ghosts can see the eye when they disable darkness
|
||||
SSmobs.ghost_sightless_images |= ghostimage //so ghosts can see the eye when they disable ghost sight
|
||||
updateallghostimages()
|
||||
..()
|
||||
|
||||
/mob/abstract/eye/Destroy()
|
||||
if (ghostimage)
|
||||
SSmob.ghost_darkness_images -= ghostimage
|
||||
SSmob.ghost_sightless_images -= ghostimage
|
||||
SSmobs.ghost_darkness_images -= ghostimage
|
||||
SSmobs.ghost_sightless_images -= ghostimage
|
||||
qdel(ghostimage)
|
||||
ghostimage = null
|
||||
updateallghostimages()
|
||||
|
||||
@@ -252,7 +252,7 @@
|
||||
return chosenJob
|
||||
|
||||
/datum/preferences/proc/update_mannequin()
|
||||
var/mob/living/carbon/human/dummy/mannequin/mannequin = SSmob.get_mannequin(client.ckey)
|
||||
var/mob/living/carbon/human/dummy/mannequin/mannequin = SSmobs.get_mannequin(client.ckey)
|
||||
mannequin.delete_inventory(TRUE)
|
||||
mannequin.species.create_organs(mannequin)
|
||||
if(gender)
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
set_stat(DEAD)
|
||||
|
||||
ghostimage = image(src.icon,src,src.icon_state)
|
||||
SSmob.ghost_darkness_images |= ghostimage
|
||||
SSmobs.ghost_darkness_images |= ghostimage
|
||||
updateallghostimages()
|
||||
|
||||
var/turf/T
|
||||
@@ -102,7 +102,7 @@
|
||||
ghost_multitool = null
|
||||
|
||||
if (ghostimage)
|
||||
SSmob.ghost_darkness_images -= ghostimage
|
||||
SSmobs.ghost_darkness_images -= ghostimage
|
||||
qdel(ghostimage)
|
||||
ghostimage = null
|
||||
updateallghostimages()
|
||||
@@ -849,7 +849,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
return 1
|
||||
|
||||
/mob/proc/can_admin_interact()
|
||||
return 0
|
||||
return 0
|
||||
|
||||
/mob/abstract/observer/can_admin_interact()
|
||||
return check_rights(R_ADMIN, 0, src)
|
||||
@@ -896,12 +896,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
|
||||
if (!client)
|
||||
return
|
||||
if (seedarkness || !ghostvision)
|
||||
client.images -= SSmob.ghost_darkness_images
|
||||
client.images |= SSmob.ghost_sightless_images
|
||||
client.images -= SSmobs.ghost_darkness_images
|
||||
client.images |= SSmobs.ghost_sightless_images
|
||||
else
|
||||
//add images for the 60inv things ghosts can normally see when darkness is enabled so they can see them now
|
||||
client.images -= SSmob.ghost_sightless_images
|
||||
client.images |= SSmob.ghost_darkness_images
|
||||
client.images -= SSmobs.ghost_sightless_images
|
||||
client.images |= SSmobs.ghost_darkness_images
|
||||
if (ghostimage)
|
||||
client.images -= ghostimage //remove ourself
|
||||
|
||||
|
||||
@@ -665,7 +665,7 @@ var/list/ai_verbs_default = list(
|
||||
else
|
||||
to_chat(src, SPAN_WARNING("You do not have a custom sprite!"))
|
||||
if("loadout character")
|
||||
var/mob/living/carbon/human/H = SSmob.get_mannequin(usr.client.ckey)
|
||||
var/mob/living/carbon/human/H = SSmobs.get_mannequin(usr.client.ckey)
|
||||
holo_icon.appearance = H.appearance
|
||||
else
|
||||
set_hologram_unique(icon('icons/mob/AI.dmi', input))
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
dust()
|
||||
|
||||
/mob/living/simple_animal/rat/Destroy()
|
||||
SSmob.all_rats -= src
|
||||
SSmobs.all_rats -= src
|
||||
|
||||
return ..()
|
||||
|
||||
@@ -117,7 +117,7 @@
|
||||
holder_type = /obj/item/holder/rat/irish
|
||||
|
||||
|
||||
SSmob.all_rats += src
|
||||
SSmobs.all_rats += src
|
||||
|
||||
/mob/living/simple_animal/rat/speak_audio()
|
||||
squeak_soft(0)
|
||||
@@ -251,7 +251,7 @@
|
||||
if(client)
|
||||
client.time_died_as_rat = world.time
|
||||
|
||||
SSmob.all_rats -= src
|
||||
SSmobs.all_rats -= src
|
||||
|
||||
..()
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
|
||||
/proc/announceToRodents(var/message)
|
||||
for(var/R in SSmob.all_rats)
|
||||
for(var/R in SSmobs.all_rats)
|
||||
to_chat(R, message)
|
||||
|
||||
/mob/living/simple_animal/rat/king
|
||||
|
||||
@@ -60,8 +60,8 @@
|
||||
)
|
||||
var/obj/item/organ/external/G = H.get_organ(BP_GROIN)
|
||||
G.droplimb(0,DROPLIMB_EDGE)
|
||||
if(SSmob.greatasses.len)
|
||||
var/obj/structure/greatworm/S = pick(SSmob.greatasses)
|
||||
if(SSmobs.greatasses.len)
|
||||
var/obj/structure/greatworm/S = pick(SSmobs.greatasses)
|
||||
H.forceMove(S.loc)
|
||||
else
|
||||
H.gib()
|
||||
@@ -126,14 +126,14 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/greatworm/Initialize()
|
||||
. = ..()
|
||||
SSmob.greatworms += src
|
||||
SSmobs.greatworms += src
|
||||
loot_count = 4+(rand(0,4))
|
||||
var/obj/item/trap/sarlacc/L = new /obj/item/trap/sarlacc(src.loc)
|
||||
L.originator = src
|
||||
sarlacc = L
|
||||
|
||||
/mob/living/simple_animal/hostile/greatworm/Destroy()
|
||||
SSmob.greatworms -= src
|
||||
SSmobs.greatworms -= src
|
||||
if(sarlacc)
|
||||
qdel(sarlacc)
|
||||
sarlacc = null
|
||||
@@ -349,9 +349,9 @@
|
||||
|
||||
/mob/living/simple_animal/hostile/greatwormking/Destroy()
|
||||
playsound(src.loc, 'sound/hallucinations/wail.ogg', 200, 1, usepressure = 0)
|
||||
for(var/mob/living/L in SSmob.greatworms)
|
||||
for(var/mob/living/L in SSmobs.greatworms)
|
||||
L.death()
|
||||
for(var/obj/structure/S in SSmob.greatasses)
|
||||
for(var/obj/structure/S in SSmobs.greatasses)
|
||||
qdel(S)
|
||||
return ..()
|
||||
|
||||
@@ -412,9 +412,9 @@
|
||||
|
||||
/obj/structure/greatworm/Initialize()
|
||||
. = ..()
|
||||
SSmob.greatasses += src
|
||||
SSmobs.greatasses += src
|
||||
|
||||
/obj/structure/greatworm/Destroy()
|
||||
SSmob.greatasses -= src
|
||||
SSmobs.greatasses -= src
|
||||
return ..()
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
|
||||
player_list |= src
|
||||
update_Login_details()
|
||||
SSfeedback.update_status()
|
||||
SSstatistics.update_status()
|
||||
|
||||
client.images.Cut() //remove the images such as AIs being unable to see runes
|
||||
client.screen.Cut() //remove hud items just in case
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
player_list -= src
|
||||
disconnect_time = world.realtime
|
||||
log_access("Logout: [key_name(src)]",ckey=key_name(src))
|
||||
SSfeedback.update_status()
|
||||
SSstatistics.update_status()
|
||||
if(client)
|
||||
clear_important_client_contents(client)
|
||||
|
||||
|
||||
@@ -1074,20 +1074,20 @@ var/list/intents = list(I_HELP,I_DISARM,I_GRAB,I_HURT)
|
||||
// It's not worth adding a proc for every single one of these types.
|
||||
/mob/living/simple_animal/find_type()
|
||||
. = ..()
|
||||
if (is_type_in_typecache(src, SSmob.mtl_synthetic))
|
||||
if (is_type_in_typecache(src, SSmobs.mtl_synthetic))
|
||||
. |= TYPE_SYNTHETIC
|
||||
|
||||
if (is_type_in_typecache(src, SSmob.mtl_weird))
|
||||
if (is_type_in_typecache(src, SSmobs.mtl_weird))
|
||||
. |= TYPE_WEIRD
|
||||
|
||||
if (is_type_in_typecache(src, SSmob.mtl_incorporeal))
|
||||
if (is_type_in_typecache(src, SSmobs.mtl_incorporeal))
|
||||
. |= TYPE_INCORPOREAL
|
||||
|
||||
// If it's not TYPE_SYNTHETIC, TYPE_WEIRD or TYPE_INCORPOREAL, we can assume it's TYPE_ORGANIC.
|
||||
if (!(. & (TYPE_SYNTHETIC|TYPE_WEIRD|TYPE_INCORPOREAL)))
|
||||
. |= TYPE_ORGANIC
|
||||
|
||||
if (is_type_in_typecache(src, SSmob.mtl_humanoid))
|
||||
if (is_type_in_typecache(src, SSmobs.mtl_humanoid))
|
||||
. |= TYPE_HUMANOID
|
||||
|
||||
#undef SAFE_PERP
|
||||
|
||||
@@ -642,7 +642,7 @@
|
||||
playsound(src.loc, "sound/weapons/smash.ogg", 75, 1)
|
||||
|
||||
// Stats.
|
||||
SSfeedback.IncrementSimpleStat("openturf_human_falls")
|
||||
SSstatistics.IncrementSimpleStat("openturf_human_falls")
|
||||
addtimer(CALLBACK(src, PROC_REF(post_fall_death_check)), 2 MINUTES, TIMER_UNIQUE | TIMER_OVERRIDE)
|
||||
|
||||
return TRUE
|
||||
@@ -653,7 +653,7 @@
|
||||
|
||||
/mob/living/carbon/human/proc/post_fall_death_check()
|
||||
if (stat == DEAD)
|
||||
SSfeedback.IncrementSimpleStat("openturf_human_deaths")
|
||||
SSstatistics.IncrementSimpleStat("openturf_human_deaths")
|
||||
|
||||
/obj/vehicle/fall_impact(levels_fallen, stopped_early = FALSE, var/damage_mod = 1)
|
||||
. = ..()
|
||||
|
||||
@@ -1127,7 +1127,7 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
SPAN_WARNING("[M] ties \the [src] over their neck!"),\
|
||||
SPAN_WARNING("You tie \the [src] over your neck!"))
|
||||
playsound(user.loc, 'sound/effects/noosed.ogg', 50, 1, -1)
|
||||
SSfeedback.IncrementSimpleStat("hangings")
|
||||
SSstatistics.IncrementSimpleStat("hangings")
|
||||
return TRUE
|
||||
else
|
||||
M.visible_message(\
|
||||
@@ -1140,7 +1140,7 @@ By design, d1 is the smallest direction and d2 is the highest
|
||||
SPAN_DANGER("[user] ties \the [src] over [M]'s neck!"),\
|
||||
SPAN_DANGER("[user] ties \the [src] over your neck!"))
|
||||
playsound(user.loc, 'sound/effects/noosed.ogg', 50, 1, -1)
|
||||
SSfeedback.IncrementSimpleStat("hangings")
|
||||
SSstatistics.IncrementSimpleStat("hangings")
|
||||
return TRUE
|
||||
else
|
||||
user.visible_message(\
|
||||
|
||||
+12
-12
@@ -101,14 +101,14 @@
|
||||
|
||||
//calculates the fraction of the sunlight that the panel receives
|
||||
/obj/machinery/power/solar/proc/update_solar_exposure()
|
||||
if(!sun)
|
||||
if(!SSsun)
|
||||
return
|
||||
if(obscured)
|
||||
sunfrac = 0
|
||||
return
|
||||
|
||||
//find the smaller angle between the direction the panel is facing and the direction of the sun (the sign is not important here)
|
||||
var/p_angle = min(abs(adir - sun.angle), 360 - abs(adir - sun.angle))
|
||||
var/p_angle = min(abs(adir - SSsun.angle), 360 - abs(adir - SSsun.angle))
|
||||
|
||||
if(p_angle > 90) // if facing more than 90deg from sun, zero output
|
||||
sunfrac = 0
|
||||
@@ -118,7 +118,7 @@
|
||||
//isn't the power received from the incoming light proportionnal to cos(p_angle) (Lambert's cosine law) rather than cos(p_angle)^2 ?
|
||||
|
||||
/obj/machinery/power/solar/process()
|
||||
if(stat & BROKEN || !control || !sun)
|
||||
if(stat & BROKEN || !control || !SSsun)
|
||||
return PROCESS_KILL
|
||||
|
||||
if(powernet && powernet == control.powernet)
|
||||
@@ -174,8 +174,8 @@
|
||||
var/turf/T = null
|
||||
|
||||
for(var/i = 1 to 20) // 20 steps is enough
|
||||
ax += sun.dx // do step
|
||||
ay += sun.dy
|
||||
ax += SSsun.dx // do step
|
||||
ay += SSsun.dy
|
||||
|
||||
T = locate( round(ax,0.5),round(ay,0.5),z)
|
||||
|
||||
@@ -299,12 +299,12 @@
|
||||
|
||||
/obj/machinery/power/solar_control/disconnect_from_network()
|
||||
..()
|
||||
sun.solars -= src
|
||||
SSsun.solars -= src
|
||||
|
||||
/obj/machinery/power/solar_control/connect_to_network()
|
||||
var/to_return = ..()
|
||||
if(powernet) //if connected and not already in solar_list...
|
||||
sun.solars |= src //... add it
|
||||
SSsun.solars |= src //... add it
|
||||
return to_return
|
||||
|
||||
//search for unconnected panels and trackers in the computer powernet and connect them
|
||||
@@ -334,7 +334,7 @@
|
||||
cdir = targetdir //...the current direction is the targetted one (and rotates panels to it)
|
||||
if(2) // auto-tracking
|
||||
if(connected_tracker)
|
||||
connected_tracker.modify_angle(sun.angle)
|
||||
connected_tracker.modify_angle(SSsun.angle)
|
||||
|
||||
set_panels(cdir)
|
||||
updateDialog()
|
||||
@@ -352,7 +352,7 @@
|
||||
/obj/machinery/power/solar_control/interact(mob/user)
|
||||
|
||||
var/t = "<B><span class='highlight'>Generated power</span></B> : [round(lastgen)] W<BR>"
|
||||
t += "<B><span class='highlight'>Star Orientation</span></B>: [sun.angle]° ([angle2text(sun.angle)])<BR>"
|
||||
t += "<B><span class='highlight'>Star Orientation</span></B>: [SSsun.angle]° ([angle2text(SSsun.angle)])<BR>"
|
||||
t += "<B><span class='highlight'>Array Orientation</span></B>: [rate_control(src,"cdir","[cdir]°",1,15)] ([angle2text(cdir)])<BR>"
|
||||
t += "<B><span class='highlight'>Tracking:</span></B><div class='statusDisplay'>"
|
||||
switch(track)
|
||||
@@ -454,7 +454,7 @@
|
||||
track = text2num(href_list["track"])
|
||||
if(track == 2)
|
||||
if(connected_tracker)
|
||||
connected_tracker.modify_angle(sun.angle)
|
||||
connected_tracker.modify_angle(SSsun.angle)
|
||||
set_panels(cdir)
|
||||
else if (track == 1) //begin manual tracking
|
||||
src.targetdir = src.cdir
|
||||
@@ -464,7 +464,7 @@
|
||||
if(href_list["search_connected"])
|
||||
src.search_for_connected()
|
||||
if(connected_tracker && track == 2)
|
||||
connected_tracker.modify_angle(sun.angle)
|
||||
connected_tracker.modify_angle(SSsun.angle)
|
||||
src.set_panels(cdir)
|
||||
|
||||
interact(usr)
|
||||
@@ -522,7 +522,7 @@
|
||||
/obj/machinery/power/solar_control/autostart/proc/do_solars()
|
||||
search_for_connected()
|
||||
if(connected_tracker && track == 2)
|
||||
connected_tracker.modify_angle(sun.angle)
|
||||
connected_tracker.modify_angle(SSsun.angle)
|
||||
set_panels(cdir)
|
||||
|
||||
/obj/machinery/power/solar_control/update_icon()
|
||||
|
||||
Reference in New Issue
Block a user