TG sync Sunday (#201)

* stage one

* datums and shit

* game stuff

* modules

* tgstation.dme

* tools

* these things for icons

* compiling fixes

* merge spree on TG

* other updates

* updated maps with deepfryers

* My helpers were not helping
This commit is contained in:
Poojawa
2017-02-06 00:36:56 -06:00
committed by GitHub
parent aeeca195c7
commit 73b6b33f79
279 changed files with 3548 additions and 2585 deletions

View File

@@ -49,8 +49,6 @@
Remove(owner)
/datum/action/proc/Remove(mob/M)
if(!M)
return
if(M)
if(M.client)
M.client.screen -= button

View File

@@ -73,7 +73,10 @@
R.module.rebuild_modules()
else if(isAI(S))
var/mob/living/silicon/ai/A = S
A.can_be_carded = FALSE
A.requires_power = POWER_REQ_CLOCKCULT
A.languages_spoken &= ~HUMAN
A.add_atom_colour(list("#B18B25", "#92661A", "#6D370F", rgb(0,0,0)), ADMIN_COLOUR_PRIORITY)
if(!A.lacks_power())
A.ai_restore_power()
if(A.eyeobj)
@@ -122,7 +125,10 @@
var/mob/living/silicon/S = owner
if(isAI(S))
var/mob/living/silicon/ai/A = S
A.can_be_carded = initial(A.can_be_carded)
A.requires_power = initial(A.requires_power)
A.languages_spoken |= HUMAN
A.remove_atom_colour(ADMIN_COLOUR_PRIORITY, list("#B18B25", "#92661A", "#6D370F", rgb(0,0,0)))
S.make_laws()
S.update_icons()
S.show_laws()

View File

@@ -43,7 +43,7 @@
Reset()
Draw()
sleep(sleep_time)
if(!qdeleted(src))
if(!QDELETED(src))
qdel(src)

View File

@@ -35,7 +35,7 @@
return ..()
/datum/forced_movement/process()
if(qdeleted(victim) || !victim.loc || qdeleted(target) || !target.loc)
if(QDELETED(victim) || !victim.loc || QDELETED(target) || !target.loc)
qdel(src)
return
var/steps_to_take = round(steps_per_tick * (world.time - last_processed))

View File

@@ -43,7 +43,7 @@
buckled_mob.pixel_x = 0
buckled_mob.pixel_y = 0
if(buckled_mob.client)
buckled_mob.client.view = world.view
buckled_mob.client.change_view(world.view)

View File

@@ -2,7 +2,7 @@
/datum/status_effect/shadow_mend
id = "shadow_mend"
duration = 3
duration = 30
alert_type = /obj/screen/alert/status_effect/shadow_mend
/obj/screen/alert/status_effect/shadow_mend
@@ -26,8 +26,8 @@
/datum/status_effect/void_price
id = "void_price"
duration = 30
tick_interval = 3
duration = 300
tick_interval = 30
alert_type = /obj/screen/alert/status_effect/void_price
/obj/screen/alert/status_effect/void_price
@@ -40,11 +40,12 @@
owner.adjustBruteLoss(3)
/datum/status_effect/vanguard_shield
id = "vanguard"
duration = 20
duration = 200
tick_interval = 0 //tick as fast as possible
alert_type = /obj/screen/alert/status_effect/vanguard
var/datum/progressbar/progbar
/obj/screen/alert/status_effect/vanguard
name = "Vanguard"
@@ -60,10 +61,21 @@
desc += "<br><b>[vanguard["stuns_absorbed"] * 2]</b> seconds of stuns held back.<br><b>[round(min(vanguard["stuns_absorbed"] * 0.25, 20)) * 2]</b> seconds of stun will affect you."
..()
/datum/status_effect/vanguard_shield/Destroy()
qdel(progbar)
progbar = null
return ..()
/datum/status_effect/vanguard_shield/on_apply()
add_logs(owner, null, "gained Vanguard stun immunity")
owner.add_stun_absorption("vanguard", 200, 1, "'s yellow aura momentarily intensifies!", "Your ward absorbs the stun!", " radiating with a soft yellow light!")
owner.visible_message("<span class='warning'>[owner] begins to faintly glow!</span>", "<span class='brass'>You will absorb all stuns for the next twenty seconds.</span>")
progbar = new(owner, duration, owner)
progbar.bar.color = list("#FAE48C", "#FAE48C", "#FAE48C", rgb(0,0,0))
progbar.update(duration - world.time)
/datum/status_effect/vanguard_shield/tick()
progbar.update(duration - world.time)
/datum/status_effect/vanguard_shield/on_remove()
var/vanguard = owner.stun_absorption["vanguard"]
@@ -85,14 +97,15 @@
message_to_owner += "\n<span class='userdanger'>You faint from the exertion!</span>"
stuns_blocked *= 2
owner.Paralyse(stuns_blocked)
else
stuns_blocked = 0 //so logging is correct in cases where there were stuns blocked but we didn't stun for other reasons
owner.visible_message("<span class='warning'>[owner]'s glowing aura fades!</span>", message_to_owner)
add_logs(owner, null, "lost Vanguard stun immunity[stuns_blocked ? "and been stunned for [stuns_blocked]":""]")
add_logs(owner, null, "lost Vanguard stun immunity[stuns_blocked ? "and was stunned for [stuns_blocked]":""]")
/datum/status_effect/inathneqs_endowment
id = "inathneqs_endowment"
duration = 15
duration = 150
alert_type = /obj/screen/alert/status_effect/inathneqs_endowment
/obj/screen/alert/status_effect/inathneqs_endowment
@@ -119,9 +132,10 @@
owner.status_flags &= ~GODMODE
playsound(owner, 'sound/magic/Ethereal_Exit.ogg', 50, 1)
/datum/status_effect/cyborg_power_regen
id = "power_regen"
duration = 10
duration = 100
alert_type = /obj/screen/alert/status_effect/power_regen
var/power_to_give = 0 //how much power is gained each tick

View File

@@ -1,6 +1,6 @@
/datum/status_effect/freon
id = "frozen"
duration = 10
duration = 100
unique = TRUE
alert_type = /obj/screen/alert/status_effect/freon
var/icon/cube

View File

@@ -6,10 +6,9 @@ var/global/list/all_status_effects = list() //a list of all status effects, if f
/datum/status_effect
var/id = "effect" //Used for screen alerts.
var/duration = -1 //How long the status effect lasts in SECONDS. Enter -1 for an effect that never ends unless removed through some means.
var/tick_interval = 1 //How many seconds between ticks. Leave at 1 for every second.
var/duration = -1 //How long the status effect lasts in DECISECONDS. Enter -1 for an effect that never ends unless removed through some means.
var/tick_interval = 10 //How many deciseconds between ticks, approximately. Leave at 10 for every second.
var/mob/living/owner //The mob affected by the status effect.
var/cosmetic = FALSE //If the status effect only exists for flavor.
var/unique = TRUE //If there can be multiple status effects of this type on one mob.
var/alert_type = /obj/screen/alert/status_effect //the alert thrown by the status effect, contains name and description
@@ -22,7 +21,7 @@ var/global/list/all_status_effects = list() //a list of all status effects, if f
addtimer(CALLBACK(src, .proc/start_ticking), 1) //Give us time to set any variables
/datum/status_effect/Destroy()
STOP_PROCESSING(SSprocessing, src)
STOP_PROCESSING(SSfastprocess, src)
if(owner)
owner.clear_alert(id)
on_remove()
@@ -37,22 +36,22 @@ var/global/list/all_status_effects = list() //a list of all status effects, if f
qdel(src)
return
on_apply()
if(duration != -1)
duration = world.time + initial(duration)
tick_interval = world.time + initial(tick_interval)
if(alert_type)
var/obj/screen/alert/status_effect/A = owner.throw_alert(id, alert_type)
A.attached_effect = src //so the alert can reference us, if it needs to
START_PROCESSING(SSprocessing, src)
START_PROCESSING(SSfastprocess, src)
/datum/status_effect/process()
if(!owner)
qdel(src)
return
if(duration != -1)
duration--
tick_interval--
if(!tick_interval)
if(tick_interval < world.time)
tick()
tick_interval = initial(tick_interval)
if(!duration)
tick_interval = world.time + initial(tick_interval)
if(duration != -1 && duration < world.time)
qdel(src)
/datum/status_effect/proc/on_apply() //Called whenever the buff is applied.