From 77a354979cf7308cfcb0ce6ba5294c8992336a5e Mon Sep 17 00:00:00 2001 From: Fox-McCloud Date: Thu, 22 Oct 2015 01:13:37 -0400 Subject: [PATCH] tweaks --- code/game/gamemodes/wizard/artefact.dm | 93 ++++++++++++++++++++++---- code/modules/admin/verbs/onlyone.dm | 2 +- 2 files changed, 80 insertions(+), 15 deletions(-) diff --git a/code/game/gamemodes/wizard/artefact.dm b/code/game/gamemodes/wizard/artefact.dm index 53fd96d5fc5..99ab89d3a7b 100644 --- a/code/game/gamemodes/wizard/artefact.dm +++ b/code/game/gamemodes/wizard/artefact.dm @@ -237,6 +237,7 @@ var/global/list/multiverse = list() var/cooldown_between_uses = 400 //time in deciseconds between uses--default of 40 seconds. var/assigned = "unassigned" var/evil = TRUE + var/probability_evil = 30 //what's the probability this sword will be evil when activated? var/duplicate_self = 0 //Do we want the species randomized along with equipment should the user be duplicated in their entirety? var/sword_type = /obj/item/weapon/multisword //type of sword to equip. @@ -265,7 +266,7 @@ var/global/list/multiverse = list() user.faction = list("[user.real_name]") user << "You bind the sword to yourself. You can now use it to summon help." if(!usr.mind.special_role) - if(prob(30)) + if(prob(probability_evil)) user << "With your new found power you could easily conquer the station!" var/datum/objective/hijackclone/hijack_objective = new /datum/objective/hijackclone hijack_objective.owner = usr.mind @@ -308,20 +309,22 @@ var/global/list/multiverse = list() M.key = C.key M.mind.name = usr.real_name M << "You are an alternate version of [usr.real_name] from another universe! Help them accomplish their goals at all costs." - M.real_name = usr.real_name - M.name = usr.real_name M.faction = list("[usr.real_name]") if(duplicate_self) M.set_species(usr.get_species()) //duplicate the sword user's species. else if(prob(50)) - var/list/all_species = list("Human","Unathi","Skrell","Tajaran","Kidan","Golem","Machine","Slime People","Grey","Vulpkanin") + var/list/all_species = list("Human","Unathi","Skrell","Tajaran","Kidan","Golem","Diona","Machine","Slime People","Grey","Vulpkanin") M.set_species(pick(all_species)) - M.dna = usr.dna.Clone() + M.real_name = usr.real_name //this is clear down here in case the user happens to become a golem; that way they have the proper name. + M.name = usr.real_name + if(duplicate_self) + M.dna = usr.dna.Clone() + M.UpdateAppearance() + domutcheck(M, null) M.update_body() M.update_hair() - M.UpdateAppearance() - domutcheck(M, null) + equip_copy(M) if(evil) @@ -350,11 +353,70 @@ var/global/list/multiverse = list() sword.evil = evil if(duplicate_self) - M.equip_to_slot_or_del(new /obj/item/device/radio/headset(M), slot_l_ear) - M.equip_or_collect(new /obj/item/weapon/storage/backpack(M), slot_back) - M.equip_or_collect(new /obj/item/clothing/under/color/random(M), slot_w_uniform) - M.equip_or_collect(new /obj/item/clothing/shoes/black(M), slot_shoes) - M.equip_to_slot_or_del(sword, slot_r_hand) //Don't duplicate the hands, or duplicate swords could be generated...or weird cases of factionless swords. + //Duplicates the user's current equipent + var/mob/living/carbon/human/H = usr + + var/obj/head = H.get_item_by_slot(slot_head) + if(head) + M.equip_to_slot_or_del(new head.type(M), slot_head) + + var/obj/mask = H.get_item_by_slot(slot_wear_mask) + if(mask) + M.equip_to_slot_or_del(new mask.type(M), slot_wear_mask) + + var/obj/glasses = H.get_item_by_slot(slot_glasses) + if(glasses) + M.equip_to_slot_or_del(new glasses.type(M), slot_glasses) + + var/obj/left_ear = H.get_item_by_slot(slot_l_ear) + if(left_ear) + M.equip_to_slot_or_del(new left_ear.type(M), slot_l_ear) + + var/obj/right_ear = H.get_item_by_slot(slot_r_ear) + if(right_ear) + M.equip_to_slot_or_del(new right_ear.type(M), slot_r_ear) + + var/obj/uniform = H.get_item_by_slot(slot_w_uniform) + if(uniform) + M.equip_to_slot_or_del(new uniform.type(M), slot_w_uniform) + + var/obj/suit = H.get_item_by_slot(slot_wear_suit) + if(suit) + M.equip_to_slot_or_del(new suit.type(M), slot_wear_suit) + + var/obj/gloves = H.get_item_by_slot(slot_gloves) + if(gloves) + M.equip_to_slot_or_del(new gloves.type(M), slot_gloves) + + var/obj/shoes = H.get_item_by_slot(slot_shoes) + if(shoes) + M.equip_to_slot_or_del(new shoes.type(M), slot_shoes) + + var/obj/belt = H.get_item_by_slot(slot_belt) + if(belt) + M.equip_to_slot_or_del(new belt.type(M), slot_belt) + + var/obj/pda = H.get_item_by_slot(slot_wear_pda) + if(pda) + M.equip_to_slot_or_del(new pda.type(M), slot_wear_pda) + + var/obj/back = H.get_item_by_slot(slot_back) + if(back) + M.equip_to_slot_or_del(new back.type(M), slot_back) + + var/obj/suit_storage = H.get_item_by_slot(slot_s_store) + if(suit_storage) + M.equip_to_slot_or_del(new suit_storage.type(M), slot_s_store) + + var/obj/left_pocket = H.get_item_by_slot(slot_l_store) + if(left_pocket) + M.equip_to_slot_or_del(new left_pocket.type(M), slot_l_store) + + var/obj/right_pocket = H.get_item_by_slot(slot_r_store) + if(right_pocket) + M.equip_to_slot_or_del(new right_pocket.type(M), slot_r_store) + + M.equip_to_slot_or_del(sword, slot_r_hand) //Don't duplicate what's equipped to hands, or else duplicate swords could be generated...or weird cases of factionless swords. else var/randomize = pick("mobster","roman","wizard","cyborg","syndicate","assistant", "animu", "cultist", "highlander", "clown", "killer", "pirate", "soviet", "officer", "gladiator") @@ -490,8 +552,6 @@ var/global/list/multiverse = list() else return - M.update_icons() - var/obj/item/weapon/card/id/W = new /obj/item/weapon/card/id if(duplicate_self) var/duplicated_access = usr.get_item_by_slot(slot_wear_id) @@ -510,6 +570,10 @@ var/global/list/multiverse = list() W.update_label(M.real_name) M.equip_to_slot_or_del(W, slot_wear_id) + M.update_icons() + +/obj/item/weapon/multisword/pure_evil + probability_evil = 100 /obj/item/weapon/multisword/pike //If We are to be used and spent, let it be for a noble purpose. name = "phantom pike" @@ -517,5 +581,6 @@ var/global/list/multiverse = list() icon_state = "harpoon" item_state = "harpoon" cooldown_between_uses = 200 //Half the time + probability_evil = 100 duplicate_self = 1 sword_type = /obj/item/weapon/multisword/pike diff --git a/code/modules/admin/verbs/onlyone.dm b/code/modules/admin/verbs/onlyone.dm index a07e7dfb58a..ca404f5cfc5 100644 --- a/code/modules/admin/verbs/onlyone.dm +++ b/code/modules/admin/verbs/onlyone.dm @@ -84,7 +84,7 @@ var/obj/item/slot_item_hand = H.get_item_by_slot(slot_r_hand) H.unEquip(slot_item_hand) - var /obj/item/weapon/multisword/multi = new(H) + 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)