mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
compile and misc other fixes
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>
This commit is contained in:
@@ -190,6 +190,7 @@
|
||||
#include "code\defines\procs\command_alert.dm"
|
||||
#include "code\defines\procs\dbcore.dm"
|
||||
#include "code\defines\procs\sd_Alert.dm"
|
||||
#include "code\defines\procs\statistics.dm"
|
||||
#include "code\game\asteroid.dm"
|
||||
#include "code\game\atoms.dm"
|
||||
#include "code\game\atoms_movable.dm"
|
||||
|
||||
@@ -122,7 +122,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
|
||||
|
||||
/datum/surgery_step/generic/clamp_bleeders
|
||||
required_tool = /obj/item/weapon/hemostat
|
||||
allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/weapon/mousetrap)
|
||||
allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/device/assembly/mousetrap)
|
||||
|
||||
min_duration = 40
|
||||
max_duration = 60
|
||||
@@ -558,7 +558,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
|
||||
|
||||
/datum/surgery_step/eye/mend_eyes
|
||||
required_tool = /obj/item/weapon/hemostat
|
||||
allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/weapon/mousetrap)
|
||||
allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/device/assembly/mousetrap)
|
||||
|
||||
min_duration = 80
|
||||
max_duration = 100
|
||||
@@ -651,7 +651,7 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user)
|
||||
|
||||
/datum/surgery_step/face/mend_vocal
|
||||
required_tool = /obj/item/weapon/hemostat
|
||||
allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/weapon/mousetrap)
|
||||
allowed_tools = list(/obj/item/weapon/cable_coil, /obj/item/device/assembly/mousetrap)
|
||||
|
||||
min_duration = 70
|
||||
max_duration = 90
|
||||
|
||||
@@ -21,9 +21,6 @@
|
||||
// Doesn't necessarily trigger an event, but might. Returns 1 if it did.
|
||||
/proc/event()
|
||||
event = 1
|
||||
if(!sent_ninja_to_station)
|
||||
choose_space_ninja()
|
||||
return
|
||||
|
||||
var/minutes_passed = world.time/600
|
||||
|
||||
@@ -91,7 +88,7 @@
|
||||
mini_blob_event()
|
||||
if("Space Ninja")
|
||||
//Handled in space_ninja.dm. Doesn't announce arrival, all sneaky-like.
|
||||
choose_space_ninja()
|
||||
space_ninja_arrival()
|
||||
if("Radiation")
|
||||
high_radiation_event()
|
||||
if("Virus")
|
||||
|
||||
@@ -93,34 +93,15 @@ When I already created about 4 new objectives, this doesn't seem terribly import
|
||||
/var/global/toggle_space_ninja = 1//If ninjas can spawn or not.
|
||||
/var/global/sent_ninja_to_station = 0//If a ninja is already on the station.
|
||||
|
||||
/proc/choose_space_ninja()
|
||||
var/list/candidates = list() //list of candidate keys
|
||||
for(var/mob/dead/observer/G in player_list)
|
||||
if(G.client && ((G.client.inactivity/10)/60) <= 5 && G.client.be_spaceninja)
|
||||
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
|
||||
candidates += G
|
||||
if(!candidates.len) return
|
||||
candidates = shuffle(candidates)//Incorporating Donkie's list shuffle
|
||||
var/ninja_selection_id = 1
|
||||
var/ninja_selection_active = 0
|
||||
var/ninja_confirmed_selection = 0
|
||||
|
||||
/proc/space_ninja_arrival(var/assign_key = null, var/assign_mission = null)
|
||||
|
||||
//loop over all viable candidates, giving them a popup asking if they want to be space ninja
|
||||
var/mob/dead/observer/accepted_ghost
|
||||
while(candidates.len && !accepted_ghost)
|
||||
//ask a different random candidate
|
||||
var/mob/dead/observer/G = pick(candidates)
|
||||
//give the popup a 30 second timeout in case the player is AFK
|
||||
if(sd_Alert(G, "A space ninja is about to spawn. Would you like to play as the ninja?", "Space Ninja", list("Yes","No"), "Yes", 300, 1, "350x125") == "Yes")
|
||||
accepted_ghost = G
|
||||
else
|
||||
candidates -= G
|
||||
|
||||
if(accepted_ghost)
|
||||
//someone accepted
|
||||
space_ninja_arrival(accepted_ghost)
|
||||
|
||||
/proc/space_ninja_arrival(var/mob/dead/observer/G)
|
||||
if(!G)
|
||||
return choose_space_ninja()
|
||||
if(ninja_selection_active)
|
||||
usr << "\red Ninja selection already in progress. Please wait until it ends."
|
||||
return
|
||||
|
||||
var/datum/game_mode/current_mode = ticker.mode
|
||||
var/datum/mind/current_mind
|
||||
@@ -161,21 +142,34 @@ Malf AIs/silicons aren't added. Monkeys aren't added. Messes with objective comp
|
||||
//Here we pick a location and spawn the ninja.
|
||||
var/list/spawn_list = list()
|
||||
for(var/obj/effect/landmark/L in landmarks_list)
|
||||
//todo:: add ninjaspawn landmarks to map
|
||||
if(L.name == "ninjaspawn")
|
||||
spawn_list.Add(L)
|
||||
|
||||
//The ninja will be created on the right spawn point or at late join.
|
||||
var/mob/living/carbon/human/new_ninja = create_space_ninja(pick(spawn_list.len ? spawn_list : latejoin ))
|
||||
new_ninja.key = G.ckey
|
||||
new_ninja.wear_suit:randomize_param()//Give them a random set of suit parameters.
|
||||
new_ninja.internal = new_ninja.s_store //So the poor ninja has something to breath when they spawn in spess.
|
||||
new_ninja.internals.icon_state = "internal1"
|
||||
|
||||
ninja_key = pick(candidates)
|
||||
|
||||
if(!spawn_list.len)
|
||||
for(var/obj/effect/landmark/L in landmarks_list)
|
||||
if(L.name == "carpspawn")
|
||||
spawn_list.Add(L)
|
||||
|
||||
var/ninja_key = null
|
||||
var/mob/candidate_mob
|
||||
|
||||
if(assign_key)
|
||||
ninja_key = assign_key
|
||||
else
|
||||
|
||||
var/list/candidates = list() //list of candidate keys
|
||||
for(var/mob/dead/observer/G in player_list)
|
||||
if(G.client && !G.client.holder && !G.client.is_afk() && G.client.be_spaceninja)
|
||||
if(!(G.mind && G.mind.current && G.mind.current.stat != DEAD))
|
||||
candidates += G
|
||||
if(!candidates.len) return
|
||||
candidates = shuffle(candidates)//Incorporating Donkie's list shuffle
|
||||
|
||||
candidate_mob = pick(candidates)
|
||||
ninja_key = candidate_mob.ckey
|
||||
|
||||
|
||||
if(!candidate_mob)
|
||||
for(var/mob/M in player_list)
|
||||
if((M.key == ninja_key || M.ckey == ninja_key) && M.client)
|
||||
candidate_mob = M
|
||||
@@ -483,7 +477,7 @@ As such, it's hard-coded for now. No reason for it not to be, really.
|
||||
|
||||
space_ninja_arrival(input, mission)
|
||||
|
||||
message_admins("\blue [key] has spawned [input] as a Space Ninja.\nTheir <b>mission</b> is: [mission]", 1)
|
||||
message_admins("\blue [key_name_admin(key)] has spawned [input] as a Space Ninja.\nTheir <b>mission</b> is: [mission]")
|
||||
log_admin("[key] used Spawn Space Ninja.")
|
||||
|
||||
return
|
||||
|
||||
@@ -20,7 +20,8 @@
|
||||
desc = "Standart APLU chassis was refitted with additional thermal protection and cistern."
|
||||
name = "APLU \"Firefighter\""
|
||||
icon_state = "firefighter"
|
||||
initial_icon = "firefighter" max_temperature = 4500
|
||||
initial_icon = "firefighter"
|
||||
max_temperature = 4500
|
||||
health = 250
|
||||
lights_power = 8
|
||||
damage_absorption = list("fire"=0.5,"bullet"=0.8,"bomb"=0.5)
|
||||
|
||||
@@ -42,7 +42,8 @@
|
||||
updatehealth()
|
||||
|
||||
if("disarm")
|
||||
if (prob(80)) playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1)
|
||||
if (prob(80))
|
||||
playsound(loc, 'sound/weapons/pierce.ogg', 25, 1, -1)
|
||||
Weaken(rand(0.5,3))
|
||||
for(var/mob/O in viewers(src, null))
|
||||
if ((O.client && !( O.blinded )))
|
||||
|
||||
@@ -824,11 +824,6 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
pressure_alert = -2
|
||||
else
|
||||
pressure_alert = -1
|
||||
|
||||
else if(pressure <= 50)
|
||||
var/adjusted_pressure = calculate_affecting_pressure(pressure) //Returns how much pressure actually affects the mob.
|
||||
if(adjusted_pressure < 50)
|
||||
adjustBruteLoss( (50 - adjusted_pressure) / 50 )
|
||||
return
|
||||
|
||||
/*
|
||||
|
||||
@@ -7275,7 +7275,7 @@
|
||||
"cJU" = (/obj/item/weapon/ore/clown,/obj/item/weapon/ore/clown,/turf/unsimulated/floor{icon_state = "asteroid"; name = "dust"},/area/planet/clown)
|
||||
"cJV" = (/turf/unsimulated/floor{icon_state = "asteroid"; name = "dust"},/area/planet/clown)
|
||||
"cJW" = (/obj/item/weapon/bananapeel,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/planet/clown)
|
||||
"cJX" = (/obj/item/weapon/mousetrap/armed,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/planet/clown)
|
||||
"cJX" = (/obj/item/device/assembly/mousetrap/armed,/turf/unsimulated/floor{icon_state = "grass1"; name = "grass"},/area/planet/clown)
|
||||
"cJY" = (/obj/item/weapon/ore/clown,/turf/unsimulated/floor{icon_state = "asteroid"; name = "dust"},/area/planet/clown)
|
||||
"cJZ" = (/obj/effect/decal/remains/human,/turf/unsimulated/floor{icon_state = "asteroid"; name = "dust"},/area/planet/clown)
|
||||
"cKa" = (/obj/item/weapon/pickaxe,/turf/unsimulated/floor{icon_state = "asteroid"; name = "dust"},/area/planet/clown)
|
||||
|
||||
Reference in New Issue
Block a user