traitor items

This commit is contained in:
kevinz000
2020-01-26 00:41:58 -07:00
parent 4c69c73983
commit 01152d6d0f
3 changed files with 51 additions and 4 deletions
+3 -4
View File
@@ -73,12 +73,14 @@ Credit where due:
return TRUE
return FALSE
/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE)
/proc/add_servant_of_ratvar(mob/L, silent = FALSE, create_team = TRUE, neutered = FALSE)
if(!L || !L.mind)
return
var/update_type = /datum/antagonist/clockcult
if(silent)
update_type = /datum/antagonist/clockcult/silent
if(neutered) //prioritizes
update_type = /datum/antagonist/clockcult/neutered
var/datum/antagonist/clockcult/C = new update_type(L.mind)
C.make_team = create_team
C.show_in_roundend = create_team //tutorial scarabs begone
@@ -108,9 +110,6 @@ Credit where due:
L.playsound_local(get_turf(L), 'sound/ambience/antag/clockcultalr.ogg', 40, TRUE, frequency = 100000, pressure_affected = FALSE)
flash_color(L, flash_color = list("#BE8700", "#BE8700", "#BE8700", rgb(0,0,0)), flash_time = 5)
/proc/remove_servant_of_ratvar(mob/L, silent = FALSE)
if(!L || !L.mind)
return
@@ -36,6 +36,30 @@
speed_multiplier = 0
no_cost = TRUE
/obj/item/clockwork/slab/traitor
var/spent = FALSE
/obj/item/clockwork/slab/traitor/attack_self(mob/living/user)
if(!is_servant_of_ratvar(user) && !spent)
to_chat(user, "<span class='userdanger'>You press your hand onto [src], golden tendrils of light latching onto you. Was this the best of ideas?</span>")
if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE))
spent = TRUE
else
var/has_mindshield = locate(/obj/item/implant/mindshield) in user
var/str = "It looks like your mind is protected. You can probably refund this with your uplink."
if(has_midnshield)
str = "It looks like your mind is shielded, offering you a choice."
to_chat(user, "<span class='userdanger'>[src] pulses, the tendrils wrapping around your head. [str]</span>")
if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes")
if(spent || !user.CanReach(src) || user.incapacitated() || user.IsKnockdown() || user.IsStun())
return
qdel(has_mindshield)
if(add_servant_of_ratvar(user, FALSE, FALSE, TRUE))
spent = TRUE
else
to_chat(user, "<span class='userdanger'>[src] falls dark. It appears you weren't worthy.</span>")
return ..()
//ATTACK HAND IGNORING PARENT RETURN VALUE
/obj/item/clockwork/slab/debug/attack_hand(mob/living/user)
if(!is_servant_of_ratvar(user))
@@ -6,6 +6,30 @@
throw_range = 5
w_class = WEIGHT_CLASS_SMALL
/obj/item/tome/traitor
var/spent = FALSE
/obj/item/tome/traitor/attack_self(mob/living/user)
if(!iscultist(user) && !spent)
to_chat(user, "<span class='userdanger'>You press your hand onto [src], sinister tendrils of corrupted magic swirling around you. Was this the best of ideas?</span>")
if(user.mind.add_antag_datum(/datum/antagonist/cult/neutered))
spent = TRUE
else
var/has_mindshield = locate(/obj/item/implant/mindshield) in user
var/str = "It looks like your mind is protected. You can probably refund this with your uplink."
if(has_midnshield)
str = "It looks like your mind is shielded, offering you a choice."
to_chat(user, "<span class='userdanger'>[src] pulses, the tendrils wrapping around your head. [str]</span>")
if(alert(user, "Would you like to attempt to force the shielding influence from your mind? This will destroy your mindshield implant.", "Destroy mindshield?", "Yes", "No") == "Yes")
if(spent || !user.CanReach(src) || user.incapacitated() || user.IsKnockdown() || user.IsStun())
return
qdel(has_mindshield)
if(user.mind.add_antag_datum(/datum/antagonist/cult/neutered))
spent = TRUE
else
to_chat(user, "<span class='userdanger'>[src] falls dark. It appears you weren't worthy.</span>")
return ..()
/obj/item/melee/cultblade/dagger
name = "ritual dagger"
desc = "A strange dagger said to be used by sinister groups for \"preparing\" a corpse before sacrificing it to their dark gods."