mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 19:52:40 +00:00
Merge branch 'master' of https://github.com/Baystation12/Baystation12
ow that of a snub-nosed revolver."
This reverts commit b600b54f61.
This commit is contained in:
@@ -40,8 +40,6 @@ datum/controller/game_controller/New()
|
||||
|
||||
createRandomZlevel()
|
||||
|
||||
setup_economy()
|
||||
|
||||
if(!air_master)
|
||||
air_master = new /datum/controller/air_system()
|
||||
air_master.setup()
|
||||
@@ -192,7 +190,6 @@ datum/controller/game_controller/proc/process()
|
||||
|
||||
//EVENTS
|
||||
timer = world.timeofday
|
||||
process_events()
|
||||
events_cost = (world.timeofday - timer) / 10
|
||||
|
||||
//TICKER
|
||||
@@ -280,18 +277,6 @@ datum/controller/game_controller/proc/process_powernets()
|
||||
continue
|
||||
powernets.Cut(i,i+1)
|
||||
|
||||
datum/controller/game_controller/proc/process_events()
|
||||
last_thing_processed = /datum/event
|
||||
var/i = 1
|
||||
while(i<=events.len)
|
||||
var/datum/event/Event = events[i]
|
||||
if(Event)
|
||||
Event.process()
|
||||
i++
|
||||
continue
|
||||
events.Cut(i,i+1)
|
||||
checkEvent()
|
||||
|
||||
datum/controller/game_controller/proc/Recover() //Mostly a placeholder for now.
|
||||
var/msg = "## DEBUG: [time2text(world.timeofday)] MC restarted. Reports:\n"
|
||||
for(var/varname in master_controller.vars)
|
||||
|
||||
@@ -83,10 +83,10 @@
|
||||
if(!istype(M,/mob/new_player))
|
||||
M << sound('sound/AI/meteors.ogg')
|
||||
spawn(100)
|
||||
meteor_wave()
|
||||
meteor_wave(10)
|
||||
spawn_meteors()
|
||||
spawn(700)
|
||||
meteor_wave()
|
||||
meteor_wave(10)
|
||||
spawn_meteors()
|
||||
if("Space Ninja")
|
||||
//Handled in space_ninja.dm. Doesn't announce arrival, all sneaky-like.
|
||||
@@ -231,69 +231,16 @@
|
||||
break
|
||||
|
||||
/proc/viral_outbreak(var/virus = null)
|
||||
// command_alert("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
|
||||
// world << sound('sound/AI/outbreak7.ogg')
|
||||
var/virus_type
|
||||
if(!virus)
|
||||
virus_type = pick(/datum/disease/dnaspread,/datum/disease/advance/flu,/datum/disease/advance/cold,/datum/disease/brainrot,/datum/disease/magnitis,/datum/disease/pierrot_throat)
|
||||
else
|
||||
switch(virus)
|
||||
if("fake gbs")
|
||||
virus_type = /datum/disease/fake_gbs
|
||||
if("gbs")
|
||||
virus_type = /datum/disease/gbs
|
||||
if("magnitis")
|
||||
virus_type = /datum/disease/magnitis
|
||||
if("rhumba beat")
|
||||
virus_type = /datum/disease/rhumba_beat
|
||||
if("brain rot")
|
||||
virus_type = /datum/disease/brainrot
|
||||
if("cold")
|
||||
virus_type = /datum/disease/advance/cold
|
||||
if("retrovirus")
|
||||
virus_type = /datum/disease/dnaspread
|
||||
if("flu")
|
||||
virus_type = /datum/disease/advance/flu
|
||||
// if("t-virus")
|
||||
// virus_type = /datum/disease/t_virus
|
||||
if("pierrot's throat")
|
||||
virus_type = /datum/disease/pierrot_throat
|
||||
for(var/mob/living/carbon/human/H in shuffle(living_mob_list))
|
||||
|
||||
var/foundAlready = 0 // don't infect someone that already has the virus
|
||||
var/turf/T = get_turf(H)
|
||||
if(!T)
|
||||
continue
|
||||
if(T.z != 1)
|
||||
continue
|
||||
for(var/datum/disease/D in H.viruses)
|
||||
foundAlready = 1
|
||||
if(H.stat == 2 || foundAlready)
|
||||
for(var/mob/living/carbon/human/H in world)
|
||||
if((H.virus2) || (H.stat == 2) || prob(30))
|
||||
continue
|
||||
|
||||
if(virus_type == /datum/disease/dnaspread) //Dnaspread needs strain_data set to work.
|
||||
if((!H.dna) || (H.sdisabilities & BLIND)) //A blindness disease would be the worst.
|
||||
continue
|
||||
var/datum/disease/dnaspread/D = new
|
||||
D.strain_data["name"] = H.real_name
|
||||
D.strain_data["UI"] = H.dna.uni_identity
|
||||
D.strain_data["SE"] = H.dna.struc_enzymes
|
||||
D.carrier = 1
|
||||
D.holder = H
|
||||
D.affected_mob = H
|
||||
H.viruses += D
|
||||
break
|
||||
else
|
||||
var/datum/disease/D = new virus_type
|
||||
D.carrier = 1
|
||||
D.holder = H
|
||||
D.affected_mob = H
|
||||
H.viruses += D
|
||||
break
|
||||
spawn(rand(1500, 3000)) //Delayed announcements to keep the crew on their toes.
|
||||
infect_mob_random_lesser(H)
|
||||
break
|
||||
|
||||
spawn(rand(0, 3000)) //Delayed announcements to keep the crew on their toes.
|
||||
command_alert("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
|
||||
for(var/mob/M in player_list)
|
||||
M << sound('sound/AI/outbreak7.ogg')
|
||||
world << sound('sound/AI/outbreak7.ogg')
|
||||
|
||||
/proc/alien_infestation(var/spawncount = 1) // -- TLE
|
||||
//command_alert("Unidentified lifesigns detected coming aboard [station_name()]. Secure any exterior access, including ducting and ventilation.", "Lifesign Alert")
|
||||
|
||||
@@ -123,7 +123,7 @@ var/global/datum/controller/gameticker/ticker
|
||||
//Holiday Round-start stuff ~Carn
|
||||
Holiday_Game_Start()
|
||||
|
||||
// start_events() //handles random events and space dust.
|
||||
start_events() //handles random events and space dust.
|
||||
//new random event system is handled from the MC.
|
||||
|
||||
var/admins_number = 0
|
||||
|
||||
@@ -1924,76 +1924,6 @@
|
||||
spawn(0)
|
||||
sleep(rand(30,400))
|
||||
Wall.ex_act(rand(2,1)) */
|
||||
if("wave")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","MW")
|
||||
new /datum/event/meteor_wave
|
||||
|
||||
if("gravanomalies")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","GA")
|
||||
command_alert("Gravitational anomalies detected on the station. There is no additional data.", "Anomaly Alert")
|
||||
world << sound('sound/AI/granomalies.ogg')
|
||||
var/turf/T = pick(blobstart)
|
||||
var/obj/effect/bhole/bh = new /obj/effect/bhole( T.loc, 30 )
|
||||
spawn(rand(100, 600))
|
||||
del(bh)
|
||||
|
||||
if("timeanomalies") //dear god this code was awful :P Still needs further optimisation
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","STA")
|
||||
//moved to its own dm so I could split it up and prevent the spawns copying variables over and over
|
||||
//can be found in code\game\game_modes\events\wormholes.dm
|
||||
wormhole_event()
|
||||
|
||||
if("goblob")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","BL")
|
||||
mini_blob_event()
|
||||
message_admins("[key_name_admin(usr)] has spawned blob", 1)
|
||||
if("aliens")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","AL")
|
||||
if(aliens_allowed)
|
||||
new /datum/event/alien_infestation
|
||||
message_admins("[key_name_admin(usr)] has spawned aliens", 1)
|
||||
if("alien_silent") //replaces the spawn_xeno verb
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","ALS")
|
||||
if(aliens_allowed)
|
||||
create_xeno()
|
||||
if("spiders")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SL")
|
||||
new /datum/event/spider_infestation
|
||||
message_admins("[key_name_admin(usr)] has spawned spiders", 1)
|
||||
if("comms_blackout")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","CB")
|
||||
var/answer = alert(usr, "Would you like to alert the crew?", "Alert", "Yes", "No")
|
||||
if(answer == "Yes")
|
||||
communications_blackout(0)
|
||||
else
|
||||
communications_blackout(1)
|
||||
message_admins("[key_name_admin(usr)] triggered a communications blackout.", 1)
|
||||
if("spaceninja")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","SN")
|
||||
if(toggle_space_ninja)
|
||||
if(space_ninja_arrival())//If the ninja is actually spawned. They may not be depending on a few factors.
|
||||
message_admins("[key_name_admin(usr)] has sent in a space ninja", 1)
|
||||
if("carp")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","C")
|
||||
var/choice = input("You sure you want to spawn carp?") in list("Badmin", "Cancel")
|
||||
if(choice == "Badmin")
|
||||
message_admins("[key_name_admin(usr)] has spawned carp.", 1)
|
||||
new /datum/event/carp_migration
|
||||
if("radiation")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","R")
|
||||
message_admins("[key_name_admin(usr)] has has irradiated the station", 1)
|
||||
new /datum/event/radiation_storm
|
||||
if("immovable")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","IR")
|
||||
@@ -2156,7 +2086,7 @@
|
||||
if("spacevines")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","K")
|
||||
new /datum/event/spacevine
|
||||
//new /datum/event/spacevine
|
||||
message_admins("[key_name_admin(usr)] has spawned spacevines", 1)
|
||||
if("onlyone")
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
|
||||
@@ -32,7 +32,6 @@
|
||||
var/color = "mod"
|
||||
if (check_rights(R_ADMIN,0))
|
||||
color = "adminmod"
|
||||
msg = "<span class='[color]'><span class='prefix'>MOD:</span> <EM>[key_name(src)]</EM> (<A HREF='?src=\ref[holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class='message'>[msg]</span></span>"
|
||||
for(var/client/C in admins)
|
||||
if((R_ADMIN|R_MOD) & C.holder.rights)
|
||||
C << msg
|
||||
C << "<span class='[color]'><span class='prefix'>MOD:</span> <EM>[key_name(src,1)]</EM> (<A HREF='?src=\ref[C.holder];adminplayerobservejump=\ref[mob]'>JMP</A>): <span class='message'>[msg]</span></span>"
|
||||
|
||||
@@ -152,7 +152,6 @@ var/intercom_range_display_status = 0
|
||||
src.verbs += /datum/admins/proc/show_traitor_panel
|
||||
src.verbs += /client/proc/print_jobban_old
|
||||
src.verbs += /client/proc/print_jobban_old_filter
|
||||
src.verbs += /client/proc/forceEvent
|
||||
src.verbs += /client/proc/break_all_air_groups
|
||||
src.verbs += /client/proc/regroup_all_air_groups
|
||||
src.verbs += /client/proc/kill_pipe_processing
|
||||
|
||||
@@ -209,7 +209,7 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
|
||||
continue
|
||||
for(var/datum/wound/W in temp.wounds) if(W.bleeding())
|
||||
blood_max += W.damage / 4
|
||||
if(temp.status & ORGAN_DESTROYED && !(temp.status & ORGAN_GAUZED))
|
||||
if(temp.status & ORGAN_DESTROYED && !(temp.status & ORGAN_GAUZED) && !temp.amputated)
|
||||
blood_max += 20 //Yer missing a fucking limb.
|
||||
drip(blood_max)
|
||||
|
||||
|
||||
@@ -921,6 +921,20 @@ datum
|
||||
..()
|
||||
return
|
||||
|
||||
tramadol
|
||||
name = "Tramadol"
|
||||
id = "tramadol"
|
||||
description = "A simple, yet effective painkiller."
|
||||
reagent_state = LIQUID
|
||||
color = "#C8A5DC"
|
||||
|
||||
oxycodone
|
||||
name = "Oxycodone"
|
||||
id = "oxycodone"
|
||||
description = "An effective and very addictive painkiller."
|
||||
reagent_state = LIQUID
|
||||
color = "#C805DC"
|
||||
|
||||
virus_food
|
||||
name = "Virus Food"
|
||||
id = "virusfood"
|
||||
@@ -3205,12 +3219,12 @@ datum
|
||||
M.dizziness +=5
|
||||
return
|
||||
|
||||
erikasurprise
|
||||
name = "Erika Surprise"
|
||||
id = "erikasurprise"
|
||||
description = "The surprise is, it's green!"
|
||||
reagent_state = LIQUID
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
erikasurprise
|
||||
name = "Erika Surprise"
|
||||
id = "erikasurprise"
|
||||
description = "The surprise is, it's green!"
|
||||
reagent_state = LIQUID
|
||||
color = "#2E6671" // rgb: 46, 102, 113
|
||||
|
||||
irishcarbomb
|
||||
name = "Irish Car Bomb"
|
||||
|
||||
@@ -164,4 +164,33 @@
|
||||
var/datum/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message("\red [user]'s hand slips, leaving a small burn on [target]'s [affected.display_name] with \the [tool]!", \
|
||||
"\red Your hand slips, leaving a small burn on [target]'s [affected.display_name] with \the [tool]!")
|
||||
target.apply_damage(3, BURN, affected)
|
||||
target.apply_damage(3, BURN, affected)
|
||||
|
||||
/datum/surgery_step/generic/cut_limb
|
||||
required_tool = /obj/item/weapon/circular_saw
|
||||
|
||||
min_duration = 110
|
||||
max_duration = 160
|
||||
|
||||
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
return ..() && target_zone != "chest" && target_zone != "groin" && target_zone != "head"
|
||||
|
||||
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/datum/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message("[user] is beginning to cut off [target]'s [affected.display_name] with \the [tool]." , \
|
||||
"You are beginning to cut off [target]'s [affected.display_name] with \the [tool].")
|
||||
target.custom_pain("Your [affected.display_name] is being ripped apart!",1)
|
||||
..()
|
||||
|
||||
end_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/datum/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message("\blue [user] cuts off [target]'s [affected.display_name] with \the [tool].", \
|
||||
"\blue You cut off [target]'s [affected.display_name] with \the [tool].")
|
||||
affected.droplimb(1)
|
||||
|
||||
fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
|
||||
var/datum/organ/external/affected = target.get_organ(target_zone)
|
||||
user.visible_message("\red [user]'s hand slips, sawwing through the bone in [target]'s [affected.display_name] with \the [tool]!", \
|
||||
"\red Your hand slips, sawwing through the bone in [target]'s [affected.display_name] with \the [tool]!")
|
||||
affected.createwound(CUT, 30)
|
||||
affected.fracture()
|
||||
|
||||
Reference in New Issue
Block a user