Merge branch 'master' of https://github.com/ParadiseSS13/Paradise into findnreplace

# Conflicts:
#	code/game/machinery/recharger.dm
#	code/game/objects/items/devices/autopsy.dm
#	code/game/objects/items/devices/modkit.dm
#	code/game/objects/structures/lattice.dm
This commit is contained in:
Markolie
2017-04-14 18:15:12 +02:00
280 changed files with 2179 additions and 1512 deletions
+1 -2
View File
@@ -29,8 +29,7 @@
Remove(owner)
if(target)
target = null
qdel(button)
button = null
QDEL_NULL(button)
return ..()
/datum/action/proc/Grant(mob/M)
+5 -5
View File
@@ -157,7 +157,7 @@
var/mob/living/carbon/human/H = current
if(ishuman(current))
/** Impanted**/
if(isloyal(H))
if(ismindshielded(H))
text = "Mindshield Implant:<a href='?src=[UID()];implant=remove'>Remove</a>|<b><font color='green'>Implanted</font></b></br>"
else
text = "Mindshield Implant:<b>No Implant</b>|<a href='?src=[UID()];implant=add'>Implant him!</a></br>"
@@ -167,7 +167,7 @@
if(ticker.mode.config_tag=="revolution")
text += uppertext(text)
text = "<i><b>[text]</b></i>: "
if(isloyal(H))
if(ismindshielded(H))
text += "<b>NO</b>|headrev|rev"
else if(src in ticker.mode.head_revolutionaries)
text += "<a href='?src=[UID()];revolution=clear'>no</a>|<b><font color='red'>HEADREV</font></b>|<a href='?src=[UID()];revolution=rev'>rev</a>"
@@ -203,7 +203,7 @@
if(ticker.mode.config_tag=="cult")
text = uppertext(text)
text = "<i><b>[text]</b></i>: "
if(isloyal(H))
if(ismindshielded(H))
text += "<B>NO</B>|cultist"
else if(src in ticker.mode.cult)
text += "<a href='?src=[UID()];cult=clear'>no</a>|<b><font color='red'>CULTIST</font></b>"
@@ -657,7 +657,7 @@
switch(href_list["implant"])
if("remove")
for(var/obj/item/weapon/implant/loyalty/I in H.contents)
for(var/obj/item/weapon/implant/mindshield/I in H.contents)
if(I && I.implanted)
I.removed(H)
qdel(I)
@@ -665,7 +665,7 @@
log_admin("[key_name(usr)] has deactivated [key_name(current)]'s mindshield implant")
message_admins("[key_name_admin(usr)] has deactivated [key_name_admin(current)]'s mindshield implant")
if("add")
var/obj/item/weapon/implant/loyalty/L = new/obj/item/weapon/implant/loyalty(H)
var/obj/item/weapon/implant/mindshield/L = new/obj/item/weapon/implant/mindshield(H)
L.imp_in = H
L.implanted = 1
H.sec_hud_set_implants()
+4 -4
View File
@@ -218,7 +218,7 @@
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Officer"), "Nanotrasen Navy Officer")
var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/loyalty(H)
var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H)
L.imp_in = H
L.implanted = 1
H.sec_hud_set_implants()
@@ -250,7 +250,7 @@
/obj/item/weapon/reagent_containers/hypospray/combat/nanites = 1,
/obj/item/weapon/storage/box/zipties = 1,
/obj/item/clothing/shoes/magboots/advance = 1,
/obj/item/weapon/implanter/loyalty = 1,
/obj/item/weapon/implanter/mindshield = 1,
)
/datum/outfit/admin/nt_special_ops_officer/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -329,7 +329,7 @@
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Captain"), "Nanotrasen Navy Captain")
var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/loyalty(H)
var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H)
L.imp_in = H
L.implanted = 1
H.sec_hud_set_implants()
@@ -755,7 +755,7 @@
if(istype(I))
apply_to_card(I, H, get_centcom_access("Emergency Response Team Member"), "Emergency Response Team Member")
var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/loyalty(H)
var/obj/item/weapon/implant/L = new /obj/item/weapon/implant/mindshield(H)
L.imp_in = H
L.implanted = 1
H.sec_hud_set_implants()
+7 -8
View File
@@ -100,7 +100,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
var/action_icon = 'icons/mob/actions.dmi'
var/action_icon_state = "spell_default"
var/action_background_icon_state = "bg_spell"
var/sound = null //The sound the spell makes when it is cast
/obj/effect/proc_holder/spell/proc/cast_check(skipcharge = 0, mob/living/user = usr) //checks if the spell can be cast based on its settings; skipcharge is used when an additional cast_check is called inside the spell
@@ -184,8 +184,8 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
user.visible_message(invocation, invocation_emote_self) //same style as in mob/living/emote.dm
/obj/effect/proc_holder/spell/proc/playMagSound()
playsound(get_turf(usr), sound,50,1)
playsound(get_turf(usr), sound,50,1)
/obj/effect/proc_holder/spell/New()
..()
action = new(src)
@@ -194,8 +194,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
charge_counter = charge_max
/obj/effect/proc_holder/spell/Destroy()
qdel(action)
action = null
QDEL_NULL(action)
return ..()
/obj/effect/proc_holder/spell/Click()
@@ -223,10 +222,10 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
spawn(0)
if(charge_type == "recharge" && recharge)
start_recharge()
if(sound)
playMagSound()
playMagSound()
if(prob(critfailchance))
critfail(targets)
else
+15 -13
View File
@@ -26,9 +26,9 @@
if(M.mind)
for(var/obj/effect/proc_holder/spell/S in M.mind.spell_list)
S.charge_counter = S.charge_max
to_chat(M, "<span class='notice'>you feel raw magic flowing through you, it feels good!</span>")
to_chat(M, "<span class='notice'>You feel raw magical energy flowing through you, it feels good!</span>")
else
to_chat(M, "<span class='notice'>you feel very strange for a moment, but then it passes.</span>")
to_chat(M, "<span class='notice'>You feel very strange for a moment, but then it passes.</span>")
burnt_out = 1
charged_item = M
break
@@ -62,11 +62,12 @@
break
else if(istype(item, /obj/item/weapon/stock_parts/cell/))
var/obj/item/weapon/stock_parts/cell/C = item
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
if(!C.self_recharge)
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
C.charge = C.maxcharge
charged_item = C
break
@@ -75,17 +76,18 @@
for(I in item.contents)
if(istype(I, /obj/item/weapon/stock_parts/cell/))
var/obj/item/weapon/stock_parts/cell/C = I
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
if(!C.self_recharge)
if(prob(80))
C.maxcharge -= 200
if(C.maxcharge <= 1) //Div by 0 protection
C.maxcharge = 1
burnt_out = 1
C.charge = C.maxcharge
item.update_icon()
charged_item = item
break
if(!charged_item)
to_chat(L, "<span class='notice'>you feel magical power surging to your hands, but the feeling rapidly fades...</span>")
to_chat(L, "<span class='notice'>You feel magical power surging to your hands, but the feeling rapidly fades...</span>")
else if(burnt_out)
to_chat(L, "<span class='caution'>[charged_item] doesn't seem to be reacting to the spell...</span>")
else
+2 -2
View File
@@ -376,9 +376,9 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine
/////// Implants & etc
/datum/supply_packs/security/armory/loyalty
/datum/supply_packs/security/armory/mindshield
name = "Mindshield Implants Crate"
contains = list (/obj/item/weapon/storage/lockbox/loyalty)
contains = list (/obj/item/weapon/storage/lockbox/mindshield)
cost = 40
containername = "mindshield implant crate"
+1
View File
@@ -352,6 +352,7 @@ var/list/uplink_items = list()
/datum/uplink_item/jobspecific/poison_pen
name = "Poison Pen"
desc = "Cutting edge of deadly writing implements technology, this gadget will infuse any piece of paper with delayed contact poison."
reference = "PP"
item = /obj/item/weapon/pen/poison
cost = 2
excludefrom = list(/datum/game_mode/nuclear)