Merge remote-tracking branch 'upstream/master' into attack-hulk

# Conflicts:
#	code/game/objects/structures/window.dm
This commit is contained in:
Fox McCloud
2018-06-03 18:49:44 -04:00
279 changed files with 2169 additions and 1699 deletions
@@ -208,7 +208,7 @@
M.reagents.add_reagent("jagged_crystals", 5)
else if(effect <= 7)
M.emote("scream")
M.visible_message("<span class='warning'>[M] nervously scratches at their skin!</span>")
M.visible_message("<span class='warning'>[M] nervously scratches at [M.p_their()] skin!</span>")
M.Jitter(10)
M.adjustBruteLoss(5)
M.emote("twitch_s")
@@ -315,7 +315,7 @@
var/effect = ..()
if(severity == 1)
if(effect <= 2)
M.visible_message("<span class='warning'>[M] can't seem to control their legs!</span>")
M.visible_message("<span class='warning'>[M] can't seem to control [M.p_their()] legs!</span>")
M.AdjustConfused(20)
M.Weaken(4)
else if(effect <= 4)
@@ -356,7 +356,7 @@
head_organ.f_style = "Very Long Beard"
H.update_hair()
H.update_fhair()
H.visible_message("<span class='warning'>[H] has a wild look in their eyes!</span>")
H.visible_message("<span class='warning'>[H] has a wild look in [H.p_their()] eyes!</span>")
if(check < 60)
M.SetParalysis(0)
M.SetStunned(0)
@@ -368,7 +368,7 @@
M.AdjustConfused(10)
if(check < 8)
M.reagents.add_reagent(pick("methamphetamine", "crank", "neurotoxin"), rand(1,5))
M.visible_message("<span class='warning'>[M] scratches at something under their skin!</span>")
M.visible_message("<span class='warning'>[M] scratches at something under [M.p_their()] skin!</span>")
M.adjustBruteLoss(5)
else if(check < 16)
M.AdjustHallucinate(30)
@@ -427,7 +427,7 @@
M.reagents.add_reagent("jagged_crystals", 5)
else if(effect <= 7)
M.emote("scream")
M.visible_message("<span class='danger'>[M] tears at their own skin!</span>")
M.visible_message("<span class='danger'>[M] tears at [M.p_their()] own skin!</span>")
M.adjustBruteLoss(5)
M.reagents.add_reagent("jagged_crystals", 5)
M.emote("twitch")
@@ -541,7 +541,7 @@
var/effect = ..()
if(severity == 1)
if(effect <= 2)
M.visible_message("<span class='warning'>[M] can't seem to control their legs!</span>")
M.visible_message("<span class='warning'>[M] can't seem to control [M.p_their()] legs!</span>")
M.AdjustConfused(33)
M.Weaken(2)
else if(effect <= 4)
@@ -73,7 +73,7 @@
M.visible_message("<span class='warning'>[M] suddenly and violently vomits!</span>")
M.fakevomit(no_text = 1)
else if(effect <= 5)
M.visible_message("<span class='warning'>[M] staggers and drools, their eyes bloodshot!</span>")
M.visible_message("<span class='warning'>[M] staggers and drools, [M.p_their()] eyes bloodshot!</span>")
M.Dizzy(8)
M.Weaken(4)
if(effect <= 15)
@@ -277,7 +277,7 @@
if(severity == 1) //lesser
M.stuttering += 1
if(effect <= 1)
M.visible_message("<span class='warning'>[M] suddenly cluches their gut!</span>")
M.visible_message("<span class='warning'>[M] suddenly cluches [M.p_their()] gut!</span>")
M.emote("scream")
M.Stun(4)
M.Weaken(4)
@@ -293,7 +293,7 @@
M.Jitter(30)
else if(severity == 2) // greater
if(effect <= 2)
M.visible_message("<span class='warning'>[M] suddenly cluches their gut!</span>")
M.visible_message("<span class='warning'>[M] suddenly cluches [M.p_their()] gut!</span>")
M.emote("scream")
M.Stun(7)
M.Weaken(7)
@@ -446,7 +446,7 @@
M.visible_message("<span class='warning'>[M] suddenly and violently vomits!</span>")
M.fakevomit(no_text = 1)
else if(effect <= 5)
M.visible_message("<span class='warning'>[M.name] staggers and drools, their eyes bloodshot!</span>")
M.visible_message("<span class='warning'>[M.name] staggers and drools, [M.p_their()] eyes bloodshot!</span>")
M.Dizzy(2)
M.Weaken(3)
if(effect <= 15)
@@ -597,7 +597,7 @@
M.visible_message("<span class='warning'>[M] suddenly and violently vomits!</span>")
M.fakevomit(no_text = 1)
else if(effect <= 5)
M.visible_message("<span class='warning'>[M] staggers and drools, their eyes bloodshot!</span>")
M.visible_message("<span class='warning'>[M] staggers and drools, [M.p_their()] eyes bloodshot!</span>")
M.Dizzy(2)
M.Weaken(3)
if(effect <= 15)
@@ -557,7 +557,7 @@
M.adjustBruteLoss(5)
M.Weaken(5)
M.AdjustJitter(6)
M.visible_message("<span class='danger'>[M] falls to the floor, scratching themselves violently!</span>")
M.visible_message("<span class='danger'>[M] falls to the floor, scratching [M.p_them()]self violently!</span>")
M.emote("scream")
..()
@@ -1015,7 +1015,7 @@
M.Drowsy(10)
if(11)
M.Paralyse(10)
M.visible_message("<B>[M]</B> seizes up and falls limp, their eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary.
M.visible_message("<B>[M]</B> seizes up and falls limp, [M.p_their()] eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary.
if(12 to 60)
M.Paralyse(10)
if(61 to INFINITY)
@@ -334,7 +334,7 @@
/datum/chemical_reaction/slimeoverload/on_reaction(datum/reagents/holder, created_volume)
feedback_add_details("slime_cores_used","[type]")
empulse(get_turf(holder.my_atom), 3, 7)
empulse(get_turf(holder.my_atom), 3, 7, 1)
/datum/chemical_reaction/slimecell
@@ -49,14 +49,14 @@
user.newtonian_move(get_dir(A, user))
if(reagents.has_reagent("sacid"))
msg_admin_attack("[key_name_admin(user)] fired sulphuric acid from \a [src].")
log_game("[key_name(user)] fired sulphuric acid from \a [src].")
msg_admin_attack("[key_name_admin(user)] fired sulphuric acid from \a [src] at [COORD(src)].")
log_game("[key_name(user)] fired sulphuric acid from \a [src] at [COORD(src)].")
if(reagents.has_reagent("facid"))
msg_admin_attack("[key_name_admin(user)] fired fluorosulfuric acid from \a [src].")
log_game("[key_name(user)] fired fluorosulfuric Acid from \a [src].")
msg_admin_attack("[key_name_admin(user)] fired fluorosulfuric acid from \a [src] at [COORD(src)].")
log_game("[key_name(user)] fired fluorosulfuric Acid from \a [src] at [COORD(src)].")
if(reagents.has_reagent("lube"))
msg_admin_attack("[key_name_admin(user)] fired space lube from \a [src].")
log_game("[key_name(user)] fired space lube from \a [src].")
msg_admin_attack("[key_name_admin(user)] fired space lube from \a [src] at [COORD(src)].")
log_game("[key_name(user)] fired space lube from \a [src] at [COORD(src)].")
return
+19 -9
View File
@@ -9,6 +9,7 @@
var/tank_volume = 1000 //In units, how much the dispenser can hold
var/reagent_id = "water" //The ID of the reagent that the dispenser uses
var/lastrigger = "" // The last person to rig this fuel tank - Stored with the object. Only the last person matter for investigation
/obj/structure/reagent_dispensers/attackby(obj/item/W, mob/user, params)
return
@@ -77,11 +78,16 @@
..()
if(!QDELETED(src)) //wasn't deleted by the projectile's effects.
if(!P.nodamage && ((P.damage_type == BURN) || (P.damage_type == BRUTE)))
message_admins("[key_name_admin(P.firer)] triggered a fueltank explosion.")
log_game("[key_name(P.firer)] triggered a fueltank explosion.")
message_admins("[key_name_admin(P.firer)] triggered a fueltank explosion with [P.name] at [COORD(loc)] ")
log_game("[key_name(P.firer)] triggered a fueltank explosion with [P.name] at [COORD(loc)]")
investigate_log("[key_name(P.firer)] triggered a fueltank explosion with [P.name] at [COORD(loc)]", INVESTIGATE_BOMB)
boom()
/obj/structure/reagent_dispensers/fueltank/boom()
/obj/structure/reagent_dispensers/fueltank/boom(var/rigtrigger = FALSE) // Prevent case where someone who rigged the tank is blamed for the explosion when the rig isn't what triggered the explosion
if(rigtrigger == TRUE) // If the explosion is triggered by an assembly holder
message_admins("A fueltank, last rigged by [lastrigger], exploded at [COORD(loc)]") // Then admin is informed of the last person who rigged the fuel tank
log_game("A fueltank, last rigged by [lastrigger], exploded at [COORD(loc)]")
investigate_log("A fueltank, last rigged by [lastrigger], exploded at [COORD(loc)]", INVESTIGATE_BOMB)
explosion(loc, 0, 1, 5, 7, 10, flame_range = 5)
qdel(src)
@@ -111,6 +117,7 @@
usr.visible_message("<span class='notice'>[usr] detaches [rig] from [src].</span>", "<span class='notice'>You detach [rig] from [src].</span>")
rig.forceMove(get_turf(usr))
rig = null
lastrigger = null
overlays.Cut()
/obj/structure/reagent_dispensers/fueltank/attackby(obj/item/I, mob/user, params)
@@ -124,9 +131,11 @@
var/obj/item/assembly_holder/H = I
if(istype(H.a_left, /obj/item/assembly/igniter) || istype(H.a_right, /obj/item/assembly/igniter))
msg_admin_attack("[key_name_admin(user)] rigged a fueltank for explosion (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
log_game("[key_name(user)] rigged fueltank a fueltank for explosion at [loc.x], [loc.y], [loc.z]")
msg_admin_attack("[key_name_admin(user)] rigged [src.name] with [I.name] for explosion (<A HREF='?_src_=holder;adminplayerobservecoodjump=1;X=[x];Y=[y];Z=[z]'>JMP</a>)")
log_game("[key_name(user)] rigged [src.name] with [I.name] for explosion at [COORD(loc)]")
investigate_log("[key_name(user)] rigged [src.name] with [I.name] for explosion at [COORD(loc)]", INVESTIGATE_BOMB)
lastrigger = "[key_name(user)]"
rig = H
user.drop_item()
H.forceMove(src)
@@ -146,13 +155,14 @@
to_chat(user, "<span class='warning'>Your [W] is already full!</span>")
return
reagents.trans_to(W, W.max_fuel)
user.visible_message("<span class='notice'>[user] refills \his [W].</span>", "<span class='notice'>You refill [W].</span>")
user.visible_message("<span class='notice'>[user] refills [user.p_their()] [W].</span>", "<span class='notice'>You refill [W].</span>")
playsound(src, 'sound/effects/refill.ogg', 50, 1)
W.update_icon()
else
user.visible_message("<span class='warning'>[user] catastrophically fails at refilling \his [W]!</span>", "<span class='userdanger'>That was stupid of you.</span>")
message_admins("[key_name_admin(user)] triggered a fueltank explosion.")
log_game("[key_name(user)] triggered a fueltank explosion.")
user.visible_message("<span class='warning'>[user] catastrophically fails at refilling [user.p_their()] [W]!</span>", "<span class='userdanger'>That was stupid of you.</span>")
message_admins("[key_name_admin(user)] triggered a fueltank explosion at [COORD(loc)]")
log_game("[key_name(user)] triggered a fueltank explosion at [COORD(loc)]")
investigate_log("[key_name(user)] triggered a fueltank explosion at [COORD(loc)]", INVESTIGATE_BOMB)
boom()
else
..()