April sync (#360)

* Maps and things no code/icons

* helpers defines globalvars

* Onclick world.dm orphaned_procs

* subsystems

Round vote and shuttle autocall done here too

* datums

* Game folder

* Admin - chatter modules

* clothing - mining

* modular computers - zambies

* client

* mob level 1

* mob stage 2 + simple_animal

* silicons n brains

* mob stage 3 + Alien/Monkey

* human mobs

* icons updated

* some sounds

* emitter y u no commit

* update tgstation.dme

* compile fixes

* travis fixes

Also removes Fast digest mode, because reasons.

* tweaks for travis Mentors are broke again

Also fixes Sizeray guns

* oxygen loss fix for vore code.

* removes unused code

* some code updates

* bulk fixes

* further fixes

* outside things

* whoops.

* Maint bar ported

* GLOBs.
This commit is contained in:
Poojawa
2017-04-13 23:37:00 -05:00
committed by GitHub
parent cdc32c98fa
commit 7e9b96a00f
1322 changed files with 174827 additions and 23888 deletions
+45 -49
View File
@@ -41,14 +41,15 @@
/obj/item/weapon/twohanded/ctf/process()
if(world.time > reset_cooldown)
forceMove(get_turf(src.reset))
for(var/mob/M in player_list)
for(var/mob/M in GLOB.player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
to_chat(M, "<span class='userdanger'>\The [src] has been returned to base!</span>")
STOP_PROCESSING(SSobj, src)
/obj/item/weapon/twohanded/ctf/attack_hand(mob/living/user)
if(!user)
if(!is_ctf_target(user))
to_chat(user, "Non players shouldn't be moving the flag!")
return
if(team in user.faction)
to_chat(user, "You can't move your own flag!")
@@ -62,7 +63,7 @@
dropped(user)
return
user.anchored = TRUE
for(var/mob/M in player_list)
for(var/mob/M in GLOB.player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
to_chat(M, "<span class='userdanger'>\The [src] has been taken!</span>")
@@ -73,7 +74,7 @@
user.anchored = FALSE
reset_cooldown = world.time + 200 //20 seconds
START_PROCESSING(SSobj, src)
for(var/mob/M in player_list)
for(var/mob/M in GLOB.player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
to_chat(M, "<span class='userdanger'>\The [src] has been dropped!</span>")
@@ -118,7 +119,7 @@
/proc/toggle_all_ctf(mob/user)
var/ctf_enabled = FALSE
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
ctf_enabled = CTF.toggle_ctf()
message_admins("[key_name_admin(user)] has [ctf_enabled? "enabled" : "disabled"] CTF!")
notify_ghosts("CTF has been [ctf_enabled? "enabled" : "disabled"]!",'sound/effects/ghost2.ogg')
@@ -145,11 +146,10 @@
var/ctf_gear = /datum/outfit/ctf
var/instagib_gear = /datum/outfit/ctf/instagib
var/list/obj/effect/ctf/dead_barricade/dead_barricades = list()
var/list/obj/structure/barricade/security/ctf/living_barricades = list()
var/list/dead_barricades = list()
var/static/ctf_object_typecache
var/static/arena_cleared = FALSE
var/static/arena_reset = FALSE
/obj/machinery/capture_the_flag/Initialize()
..()
@@ -163,10 +163,10 @@
/obj/effect/ctf,
/obj/item/weapon/twohanded/ctf
))
poi_list |= src
GLOB.poi_list |= src
/obj/machinery/capture_the_flag/Destroy()
poi_list.Remove(src)
GLOB.poi_list.Remove(src)
..()
/obj/machinery/capture_the_flag/process()
@@ -206,7 +206,7 @@
toggle_all_ctf(user)
return
if(ticker.current_state < GAME_STATE_PLAYING)
if(SSticker.current_state < GAME_STATE_PLAYING)
return
if(user.ckey in team_members)
if(user.ckey in recently_dead_ckeys)
@@ -218,7 +218,7 @@
spawn_team_member(new_team_member)
return
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
if(CTF == src || CTF.ctf_enabled == FALSE)
continue
if(user.ckey in CTF.team_members)
@@ -247,6 +247,7 @@
/obj/machinery/capture_the_flag/proc/spawn_team_member(client/new_team_member)
var/mob/living/carbon/human/M = new/mob/living/carbon/human(get_turf(src))
new_team_member.prefs.copy_to(M)
M.set_species(/datum/species/synth)
M.key = new_team_member.key
M.faction += team
M.equipOutfit(ctf_gear)
@@ -264,7 +265,7 @@
if(flag.team != src.team)
user.transferItemToLoc(flag, get_turf(flag.reset), TRUE)
points++
for(var/mob/M in player_list)
for(var/mob/M in GLOB.player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
to_chat(M, "<span class='userdanger'>[user.real_name] has captured \the [flag], scoring a point for [team] team! They now have [points]/[points_to_win] points!</span>")
@@ -272,7 +273,7 @@
victory()
/obj/machinery/capture_the_flag/proc/victory()
for(var/mob/M in mob_list)
for(var/mob/M in GLOB.mob_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
to_chat(M, "<span class='narsie'>[team] team wins!</span>")
@@ -280,16 +281,16 @@
for(var/obj/item/weapon/twohanded/ctf/W in M)
M.dropItemToGround(W)
M.dust()
for(var/obj/machinery/control_point/control in machines)
for(var/obj/machinery/control_point/control in GLOB.machines)
control.icon_state = "dominator"
control.controlling = null
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
if(CTF.ctf_enabled == TRUE)
CTF.points = 0
CTF.control_points = 0
CTF.ctf_enabled = FALSE
CTF.team_members = list()
CTF.arena_cleared = FALSE
CTF.arena_reset = FALSE
addtimer(CALLBACK(CTF, .proc/start_ctf), 300)
/obj/machinery/capture_the_flag/proc/toggle_ctf()
@@ -308,27 +309,26 @@
dead_barricades.Cut()
for(var/b in living_barricades)
var/obj/structure/barricade/security/ctf/B = b
B.obj_integrity = B.max_integrity
notify_ghosts("[name] has been activated!", enter_link="<a href=?src=\ref[src];join=1>(Click to join the [team] team!)</a> or click on the controller directly!", source = src, action=NOTIFY_ATTACK)
if(!arena_cleared)
clear_the_arena()
arena_cleared = TRUE
if(!arena_reset)
reset_the_arena()
arena_reset = TRUE
/obj/machinery/capture_the_flag/proc/clear_the_arena()
/obj/machinery/capture_the_flag/proc/reset_the_arena()
var/area/A = get_area(src)
for(var/atm in A)
if(!is_type_in_typecache(atm, ctf_object_typecache))
qdel(atm)
if(istype(atm, /obj/structure))
var/obj/structure/S = atm
S.obj_integrity = S.max_integrity
/obj/machinery/capture_the_flag/proc/stop_ctf()
ctf_enabled = FALSE
arena_cleared = FALSE
arena_reset = FALSE
var/area/A = get_area(src)
for(var/i in mob_list)
for(var/i in GLOB.mob_list)
var/mob/M = i
if((get_area(A) == A) && (M.ckey in team_members))
M.dust()
@@ -337,13 +337,13 @@
recently_dead_ckeys.Cut()
/obj/machinery/capture_the_flag/proc/instagib_mode()
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
if(CTF.ctf_enabled == TRUE)
CTF.ctf_gear = CTF.instagib_gear
CTF.respawn_cooldown = INSTAGIB_RESPAWN
/obj/machinery/capture_the_flag/proc/normal_mode()
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
if(CTF.ctf_enabled == TRUE)
CTF.ctf_gear = initial(ctf_gear)
CTF.respawn_cooldown = DEFAULT_RESPAWN
@@ -433,6 +433,7 @@
/obj/item/projectile/beam/ctf/red
icon_state = "laser"
impact_effect_type = /obj/effect/overlay/temp/impact_effect/red_laser
// BLUE TEAM GUNS
@@ -447,6 +448,7 @@
/obj/item/projectile/beam/ctf/blue
icon_state = "bluelaser"
impact_effect_type = /obj/effect/overlay/temp/impact_effect/blue_laser
/datum/outfit/ctf
name = "CTF"
@@ -485,7 +487,6 @@
shoes = /obj/item/clothing/shoes/jackboots/fast
/datum/outfit/ctf/red
ears = /obj/item/device/radio/headset/syndicate/alt
suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/red
r_hand = /obj/item/weapon/gun/ballistic/automatic/laser/ctf/red
l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/red
@@ -496,7 +497,6 @@
shoes = /obj/item/clothing/shoes/jackboots/fast
/datum/outfit/ctf/blue
ears = /obj/item/device/radio/headset/headset_cent/commander
suit = /obj/item/clothing/suit/space/hardsuit/shielded/ctf/blue
r_hand = /obj/item/weapon/gun/ballistic/automatic/laser/ctf/blue
l_pocket = /obj/item/ammo_box/magazine/recharge/ctf/blue
@@ -509,14 +509,18 @@
/datum/outfit/ctf/red/post_equip(mob/living/carbon/human/H)
..()
var/obj/item/device/radio/R = H.ears
R.set_frequency(SYND_FREQ)
R.freqlock = 1
R.set_frequency(GLOB.REDTEAM_FREQ)
R.freqlock = TRUE
R.independent = TRUE
H.dna.species.stunmod = 0
/datum/outfit/ctf/blue/post_equip(mob/living/carbon/human/H)
..()
var/obj/item/device/radio/R = H.ears
R.set_frequency(CENTCOM_FREQ)
R.freqlock = 1
R.set_frequency(GLOB.BLUETEAM_FREQ)
R.freqlock = TRUE
R.independent = TRUE
H.dna.species.stunmod = 0
@@ -534,6 +538,8 @@
return
/obj/structure/trap/ctf/trap_effect(mob/living/L)
if(!is_ctf_target(L))
return
if(!(src.team in L.faction))
to_chat(L, "<span class='danger'><B>Stay out of the enemy spawn!</B></span>")
L.death()
@@ -552,16 +558,6 @@
deploy_time = 0
deploy_message = 0
/obj/structure/barricade/security/ctf/Initialize(mapload)
..()
for(var/obj/machinery/capture_the_flag/CTF in machines)
CTF.living_barricades += src
/obj/structure/barricade/security/ctf/Destroy()
for(var/obj/machinery/capture_the_flag/CTF in machines)
CTF.living_barricades -= src
. = ..()
/obj/structure/barricade/security/ctf/make_debris()
new /obj/effect/ctf/dead_barricade(get_turf(src))
@@ -598,7 +594,7 @@
/obj/effect/ctf/ammo/proc/reload(mob/living/M)
if(!ishuman(M))
return
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
if(M in CTF.spawned_mobs)
var/outfit = CTF.ctf_gear
var/datum/outfit/O = new outfit
@@ -618,7 +614,7 @@
/obj/effect/ctf/dead_barricade/Initialize(mapload)
..()
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
CTF.dead_barricades += src
/obj/effect/ctf/dead_barricade/proc/respawn()
@@ -654,11 +650,11 @@
/obj/machinery/control_point/proc/capture(mob/user)
if(do_after(user, 30, target = src))
for(var/obj/machinery/capture_the_flag/CTF in machines)
for(var/obj/machinery/capture_the_flag/CTF in GLOB.machines)
if(CTF.ctf_enabled && (user.ckey in CTF.team_members))
controlling = CTF
icon_state = "dominator-[CTF.team]"
for(var/mob/M in player_list)
for(var/mob/M in GLOB.player_list)
var/area/mob_area = get_area(M)
if(istype(mob_area, /area/ctf))
to_chat(M, "<span class='userdanger'>[user.real_name] has captured \the [src], claiming it for [CTF.team]! Go take it back!</span>")