Files
Paradise/code/modules/admin/verbs/onlyone.dm
FalseIncarnate 9e88e7f1db Adds Highlander Style: The Martial Art of Highlanders
Adds a new martial art: Highlander Style!
- Wielders of the powerful Highlander claymores are imbued with this
mythical prowress. Should your both your hands ever lack a grip on a
Highlander claymore, you will relinquish your newfound skill.
- Highlander Style grants immunity to ranged attacks and an unwavering
distain of cowardly guns. Just like with Sleeping Carp, you will deflect
projectiles and cannot fire guns (but can pick them up to throw in the
trash where they belong).

Adds new weapon: Highlander Claymore
- Grants the wielder the Highlander Style while held in either hand.
- Normal claymores were left in, but do not provide the martial art (so
they are "safe" to use outside highlander)

Minor refactor to martial arts which prevent use of guns.
- No longer relies on the name of the style, but rather the new
aptly-named var: `can_use_guns`

🆑
rscadd: Adds Highlander Style, granted to the wielder of Highlander
Claymores. This martial art allows you to deflect ranged attacks from
the weapons of COWARDS. FOR THE HONOR OF THE HIGHLANDERS!
tweak: Highlander now equips combatants with a Highlander claymore
instead of a normal claymore. FIGHT ON BROTHERS!
/🆑
2017-06-07 02:35:23 -04:00

105 lines
3.7 KiB
Plaintext

/client/proc/only_one()
if(!ticker)
alert("The game hasn't started yet!")
return
var/list/incompatible_species = list("Plasmaman", "Vox")
for(var/mob/living/carbon/human/H in player_list)
if(H.stat == DEAD || !(H.client))
continue
if(is_special_character(H))
continue
if(H.species.name in incompatible_species)
H.set_species("Human")
var/datum/preferences/A = new() // Randomize appearance
A.copy_to(H)
ticker.mode.traitors += H.mind
H.mind.special_role = SPECIAL_ROLE_TRAITOR
var/datum/objective/hijack/hijack_objective = new
hijack_objective.owner = H.mind
H.mind.objectives += hijack_objective
to_chat(H, "<B>You are a Highlander. Kill all other Highlanders. There can be only one.</B>")
var/obj_count = 1
for(var/datum/objective/OBJ in H.mind.objectives)
to_chat(H, "<B>Objective #[obj_count]</B>: [OBJ.explanation_text]")
obj_count++
for(var/obj/item/I in H)
if(istype(I, /obj/item/weapon/implant))
continue
if(istype(I, /obj/item/organ))
continue
qdel(I)
H.equip_to_slot_or_del(new /obj/item/clothing/under/kilt(H), slot_w_uniform)
H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear)
H.equip_to_slot_or_del(new /obj/item/clothing/head/beret(H), slot_head)
H.equip_to_slot_or_del(new /obj/item/weapon/claymore/highlander(H), slot_r_hand)
H.equip_to_slot_or_del(new /obj/item/clothing/shoes/combat(H), slot_shoes)
H.equip_to_slot_or_del(new /obj/item/weapon/pinpointer(H.loc), slot_l_store)
var/obj/item/weapon/card/id/W = new(H)
W.name = "[H.real_name]'s ID Card"
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_all_centcom_access()
W.assignment = "Highlander"
W.registered_name = H.real_name
H.equip_to_slot_or_del(W, slot_wear_id)
H.species.after_equip_job(null, H)
H.regenerate_icons()
message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ONE! -NO ATTACK LOGS WILL BE SENT TO ADMINS FROM THIS POINT FORTH-", 1)
log_admin("[key_name(usr)] used there can be only one.")
nologevent = 1
world << sound('sound/music/THUNDERDOME.ogg')
/client/proc/only_me()
if(!ticker)
alert("The game hasn't started yet!")
return
for(var/mob/living/carbon/human/H in player_list)
if(H.stat == 2 || !(H.client)) continue
if(is_special_character(H)) continue
ticker.mode.traitors += H.mind
H.mind.special_role = "[H.real_name] Prime"
var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone
hijack_objective.owner = H.mind
H.mind.objectives += hijack_objective
to_chat(H, "<B>You are the multiverse summoner. Activate your blade to summon copies of yourself from another universe to fight by your side.</B>")
var/obj_count = 1
for(var/datum/objective/OBJ in H.mind.objectives)
to_chat(H, "<B>Objective #[obj_count]</B>: [OBJ.explanation_text]")
obj_count++
var/obj/item/slot_item_ID = H.get_item_by_slot(slot_wear_id)
qdel(slot_item_ID)
var/obj/item/slot_item_hand = H.get_item_by_slot(slot_r_hand)
H.unEquip(slot_item_hand)
var /obj/item/weapon/multisword/pure_evil/multi = new(H)
H.equip_to_slot_or_del(multi, slot_r_hand)
var/obj/item/weapon/card/id/W = new(H)
W.icon_state = "centcom"
W.access = get_all_accesses()
W.access += get_all_centcom_access()
W.assignment = "Multiverse Summoner"
W.registered_name = H.real_name
W.update_label(H.real_name)
H.equip_to_slot_or_del(W, slot_wear_id)
H.update_icons()
message_admins("[key_name_admin(usr)] used THERE CAN BE ONLY ME! -NO ATTACK LOGS WILL BE SENT TO ADMINS FROM THIS POINT FORTH-", 1)
log_admin("[key_name(usr)] used there can be only me.")
nologevent = 1
world << sound('sound/music/THUNDERDOME.ogg')