fixes wiz boots, adds ancient vamp, archwiz, nt undercover ops

This commit is contained in:
Kyep
2018-03-31 19:01:21 -07:00
parent 275c2ffc3c
commit 2e33456c20
2 changed files with 182 additions and 1 deletions
+125 -1
View File
@@ -259,6 +259,57 @@
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Representative"), "Nanotrasen Diplomat")
/datum/outfit/admin/nt_undercover
name = "NT Undercover Operative"
// Disguised NT special forces, sent to quietly eliminate mutinous people in high positions (e.g: captain)
uniform = /obj/item/clothing/under/chameleon
back = /obj/item/weapon/storage/backpack
belt = /obj/item/weapon/storage/belt/utility/full/multitool
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/syndigaloshes
l_ear = /obj/item/device/radio/headset/heads/captain
id = /obj/item/weapon/card/id/syndicate
pda = /obj/item/device/pda
backpack_contents = list(
/obj/item/weapon/storage/box/engineer = 1,
/obj/item/device/flashlight = 1,
/obj/item/weapon/gun/projectile/automatic/proto = 1, // NT saber SMG
/obj/item/weapon/suppressor = 1, // silencer for SMG
/obj/item/ammo_box/magazine/smgm9mm = 3, // SMG ammo
/obj/item/weapon/door_remote/omni = 1,
/obj/item/weapon/implanter/mindshield = 1, // not implanted by default, as that would make them suspicious
/obj/item/weapon/implanter/storage = 1 // do not auto-implant this, that causes a bug
)
implants = list(
/obj/item/weapon/implant/dust
)
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/eyes/hud/security,
/obj/item/organ/internal/cyberimp/eyes/xray,
/obj/item/organ/internal/cyberimp/brain/anti_drop,
/obj/item/organ/internal/cyberimp/brain/anti_stun,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus
)
/datum/outfit/admin/nt_undercover/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/weapon/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Civilian")
I.icon_state = "deathsquad"
var/obj/item/device/radio/R = H.l_ear
if(istype(R))
R.name = "radio headset"
R.icon_state = "headset"
/datum/outfit/admin/death_commando
name = "NT Death Commando"
@@ -723,6 +774,7 @@
name = "Wizard Hardsuit"
suit = /obj/item/clothing/suit/space/hardsuit/wizard
head = /obj/item/clothing/head/helmet/space/hardsuit/wizard
shoes = /obj/item/clothing/shoes/magboots
/datum/outfit/admin/hardsuit/medical
name = "Medical Hardsuit"
@@ -938,7 +990,7 @@
/obj/item/weapon/suppressor = 1,
/obj/item/weapon/card/emag = 1,
/obj/item/device/flashlight = 1,
/obj/item/weapon/implanter/storage = 1 // do not auto-implant this, it causes a bug
/obj/item/weapon/implanter/storage = 1 // do not auto-implant this, that causes a bug
)
implants = list(
/obj/item/weapon/implant/dust
@@ -993,6 +1045,46 @@
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Dark Lord", "syndie")
/datum/outfit/admin/ancient_vampire
name = "Ancient Vampire"
// Vampire with tons of blood, and ability to convert others into vampires.
uniform = /obj/item/clothing/under/color/black
suit = /obj/item/clothing/suit/hooded/chaplain_hoodie
back = /obj/item/weapon/storage/backpack
gloves = /obj/item/clothing/gloves/color/black
shoes = /obj/item/clothing/shoes/black
l_ear = /obj/item/device/radio/headset/syndicate
id = /obj/item/weapon/card/id/syndicate
backpack_contents = list(
/obj/item/weapon/storage/box/survival = 1,
/obj/item/device/flashlight = 1,
)
/datum/outfit/admin/ancient_vampire/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/clothing/suit/hooded/chaplain_hoodie/C = H.wear_suit
if(istype(C))
C.name = "ancient robes"
C.hood.name = "ancient hood"
var/obj/item/weapon/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Ancient", "syndie")
H.make_vampire()
if(H.mind && H.mind.vampire)
H.mind.vampire.bloodtotal = 2500
H.mind.vampire.bloodusable = 2500
H.mind.vampire.add_ability(/obj/effect/proc_holder/spell/vampire/targetted/sire)
H.mind.vampire.check_vampire_upgrade()
/datum/outfit/admin/wizard
uniform = /obj/item/clothing/under/color/lightpurple
suit = /obj/item/clothing/suit/wizrobe
@@ -1034,6 +1126,38 @@
shoes = /obj/item/clothing/shoes/sandal/marisa
head = /obj/item/clothing/head/wizard/marisa
/datum/outfit/admin/wizard/arch
name = "Arch Wizard"
suit = /obj/item/clothing/suit/wizrobe/magusred
head = /obj/item/clothing/head/wizard/magus
belt = /obj/item/weapon/storage/belt/wands/full
l_hand = null
backpack_contents = list(
/obj/item/weapon/storage/box/engineer = 1,
/obj/item/clothing/suit/space/hardsuit/wizard = 1,
/obj/item/clothing/head/helmet/space/hardsuit/wizard = 1,
/obj/item/clothing/shoes/magboots = 1,
/obj/item/weapon/kitchen/knife/ritual = 1,
/obj/item/clothing/suit/wizrobe/red = 1,
/obj/item/clothing/head/wizard/red = 1
)
/datum/outfit/admin/wizard/arch/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
//if(H.mind)
// H.mind.make_wizard()
var/obj/item/weapon/spellbook/B = H.r_hand
if(istype(B))
B.owner = H // force-bind it so it can never be stolen, no matter what.
B.name = "Archwizard Spellbook"
B.uses = 50
var/obj/item/weapon/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Arch Wizard")
/datum/outfit/admin/dark_priest
name = "Dark Priest"
@@ -349,6 +349,63 @@
to_chat(user, "<span class='warning'>You have successfully Enthralled [H]. <i>If they refuse to do as you say just adminhelp.</i></span>")
add_logs(user, H, "vampire-thralled")
/obj/effect/proc_holder/spell/vampire/targetted/sire
name = "Sire (300)"
desc = "You infect the mind of a human with one of your own kind, creating a new vampire."
gain_desc = "You have gained the sire ability which allows you to create new vampires."
action_icon_state = "vampire_enthrall"
required_blood = 300
/obj/effect/proc_holder/spell/vampire/targetted/sire/cast(list/targets, mob/user = usr)
for(var/mob/living/target in targets)
user.visible_message("<span class='warning'>[user] bites [target]'s neck!</span>", "<span class='warning'>You bite [target]'s neck and begin the flow of power.</span>")
to_chat(target, "<span class='warning'>You feel the tendrils of evil invade your mind.</span>")
if(!ishuman(target))
to_chat(user, "<span class='warning'>You can only sire humans.</span>")
break
if(do_mob(user, target, 50))
if(can_sire(user, target))
handle_sire(user, target)
else
revert_cast(user)
to_chat(user, "<span class='warning'>You or your target either moved or you dont have enough usable blood.</span>")
/obj/effect/proc_holder/spell/vampire/targetted/sire/proc/can_sire(mob/living/user, mob/living/carbon/C)
// Unlike can_enthrall, this proc allows usage on mindshielded and traitor targets. Deletes mindshield on use.
if(!C)
log_runtime(EXCEPTION("something bad happened on sireing a mob, attacker is [user] [user.key] \ref[user]"), user)
return 0
if(!C.mind)
to_chat(user, "<span class='warning'>[C.name]'s mind is not there for you to sire.</span>")
return 0
if( ( C.mind in ticker.mode.vampires )||( C.mind.vampire )||( C.mind in ticker.mode.vampire_enthralled ))
C.visible_message("<span class='warning'>[C] seems to resist the takeover!</span>", "<span class='notice'>You feel a familiar sensation in your skull that quickly dissipates.</span>")
return 0
if(!affects(C))
C.visible_message("<span class='warning'>[C] seems to resist the takeover!</span>", "<span class='notice'>Your faith of [ticker.Bible_deity_name] has kept your mind clear of all evil.</span>")
return 0
if(!ishuman(C))
to_chat(user, "<span class='warning'>You can only sire humans!</span>")
return 0
return 1
/obj/effect/proc_holder/spell/vampire/targetted/sire/proc/handle_sire(mob/living/user, mob/living/carbon/human/H as mob)
if(!istype(H))
return 0
for(var/obj/item/weapon/implant/mindshield/L in H)
if(L && L.implanted)
to_chat(H, "<span class='boldannounce'>Your mental protection implant unexpectedly falters, dims, dies.</span>")
qdel(L)
H.make_vampire()
ticker.mode.forge_vampire_objectives(H.mind)
ticker.mode.greet_vampire(H.mind)
ticker.mode.update_vampire_icons_added(H.mind)
to_chat(H, "<span class='danger'>You have been sireed by [user]. Follow their every command.</span>")
to_chat(user, "<span class='warning'>You have successfully sireed [H].</span>")
add_logs(user, H, "vampire-sired")
/obj/effect/proc_holder/spell/vampire/self/cloak
name = "Cloak of Darkness"
desc = "Toggles whether you are currently cloaking yourself in darkness."