From b69c928419f8650cc03a1e7718ae6f8a7b3a40f1 Mon Sep 17 00:00:00 2001 From: Sishen Date: Fri, 30 Aug 2019 16:50:03 -0400 Subject: [PATCH 1/9] FOR THE EMPEROR --- code/game/objects/items.dm | 1 + code/game/objects/items/holy_weapons.dm | 6 +++--- code/modules/projectiles/guns/energy/laser.dm | 17 +++++++++++++++++ code/modules/projectiles/pins.dm | 9 +++++++++ .../game/objects/items/melee/eutactic_blades.dm | 3 ++- 5 files changed, 32 insertions(+), 4 deletions(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 566a64577d..c98cef2b87 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -68,6 +68,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE) var/strip_delay = 40 //In deciseconds, how long an item takes to remove from another person var/breakouttime = 0 var/list/materials + var/reskinned = FALSE var/list/attack_verb //Used in attackby() to say how something was attacked "[x] has been [z.attack_verb] by [y] with [z]" var/list/species_exception = null // list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 6e3deaa694..1498038606 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -229,7 +229,6 @@ throwforce = 10 w_class = WEIGHT_CLASS_TINY obj_flags = UNIQUE_RENAME - var/reskinned = FALSE var/chaplain_spawnable = TRUE /obj/item/nullrod/Initialize() @@ -247,9 +246,10 @@ /obj/item/nullrod/proc/reskin_holy_weapon(mob/M) if(GLOB.holy_weapon_type) return - var/obj/item/nullrod/holy_weapon + var/obj/item/holy_weapon var/list/holy_weapons_list = typesof(/obj/item/nullrod) + list( - /obj/item/melee/transforming/energy/sword/cx/chaplain + /obj/item/melee/transforming/energy/sword/cx/chaplain, + /obj/item/gun/energy/laser/redtag/hitscan/holyak ) var/list/display_names = list() for(var/V in holy_weapons_list) diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index cd0dd53d48..6c993e95b0 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -159,3 +159,20 @@ /obj/item/gun/energy/laser/redtag/hitscan ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag/hitscan) + +/obj/item/gun/energy/laser/redtag/hitscan/holyak + name = "\improper holy lasrifle" + desc = "A lasrifle from the old Imperium. This one seems to be blessed by techpriests." + icon_state = "LaserAK" + item_state = null + force = 14 + pin = /obj/item/firing_pin/holy + icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' + ammo_x_offset = 4 + lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' + righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' + var/chaplain_spawnable = TRUE + +/obj/item/gun/energy/laser/redtag/hitscan/holyak/Initialize() + . = ..() + AddComponent(/datum/component/anti_magic, TRUE, TRUE) diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index da3743f053..9103340790 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -188,6 +188,15 @@ desc = "This is a DNA-locked firing pin which only authorizes one user. Attempt to fire once to DNA-link. It has a small explosive charge on it." selfdestruct = TRUE +/obj/item/firing_pin/holy + name = "blessed pin" + desc = "A firing pin that only responds to those who are holier than thou." + +/obj/item/firing_pin/holy/pin_auth(mob/living/user) + if(user.mind.isholy) + return TRUE + return FALSE + // Laser tag pins /obj/item/firing_pin/tag name = "laser tag firing pin" diff --git a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm index 68ab229f0a..fa6f2af7af 100644 --- a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm +++ b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm @@ -134,6 +134,7 @@ name = "divine lightblade" force_on = 20 //haha i'll regret this block_chance = 50 + var/chaplain_spawnable = TRUE /obj/item/melee/transforming/energy/sword/cx/chaplain/Initialize() . = ..() @@ -380,4 +381,4 @@ /obj/item/twohanded/dualsaber/hypereutactic/toy/rainbow name = "\improper Hyper-Euclidean Reciprocating Trigonometric Zweihander" desc = "A custom-built toy with fancy rainbow lights built-in." - hacked = TRUE \ No newline at end of file + hacked = TRUE From ba5021af5bd397961d6ff0350723274d6647e970 Mon Sep 17 00:00:00 2001 From: Sishen Date: Sat, 31 Aug 2019 02:55:29 -0400 Subject: [PATCH 2/9] gives lasrifle the damage component, turns kevs divine lightblade into a hypereut to balance stats, adds hypertool --- code/game/objects/items/devices/multitool.dm | 13 ++++++ code/game/objects/items/holy_weapons.dm | 5 ++- .../projectiles/ammunition/energy/laser.dm | 3 ++ code/modules/projectiles/guns/energy/laser.dm | 44 ++++++++++++++++++- code/modules/projectiles/projectile/beams.dm | 5 +++ .../objects/items/melee/eutactic_blades.dm | 24 +++++----- 6 files changed, 80 insertions(+), 14 deletions(-) diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index a3ab9153ce..f54c7092d2 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -32,6 +32,19 @@ var/datum/integrated_io/selected_io = null //functional for integrated circuits. var/mode = 0 +/obj/item/multitool/chaplain + name = "\improper hypertool" + desc = "Used for pulsing wires to test which to cut. Seems to cause massive brain damage in certain targets." + damtype = BRAIN + force = 18 + armour_penetration = 35 + hitsound = 'sound/effects/sparks4.ogg' + var/chaplain_spawnable = TRUE + +/obj/item/multitool/chaplain/Initialize() + . = ..() + AddComponent(/datum/component/anti_magic, TRUE, TRUE) + /obj/item/multitool/examine(mob/user) ..() if(selected_io) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 1498038606..163d9a9b4e 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -248,8 +248,9 @@ return var/obj/item/holy_weapon var/list/holy_weapons_list = typesof(/obj/item/nullrod) + list( - /obj/item/melee/transforming/energy/sword/cx/chaplain, - /obj/item/gun/energy/laser/redtag/hitscan/holyak + /obj/item/twohanded/dualsaber/hypereutactic/chaplain, + /obj/item/gun/energy/laser/redtag/hitscan/chaplain, + /obj/item/multitool/chaplain ) var/list/display_names = list() for(var/V in holy_weapons_list) diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm index 089c79effd..0940144721 100644 --- a/code/modules/projectiles/ammunition/energy/laser.dm +++ b/code/modules/projectiles/ammunition/energy/laser.dm @@ -59,6 +59,9 @@ /obj/item/ammo_casing/energy/laser/redtag/hitscan projectile_type = /obj/item/projectile/beam/lasertag/redtag/hitscan +/obj/item/ammo_casing/energy/laser/redtag/hitscan/holy + projectile_type = /obj/item/projectile/beam/lasertag/redtag/hitscan/holy + /obj/item/ammo_casing/energy/xray projectile_type = /obj/item/projectile/beam/xray e_cost = 50 diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 6c993e95b0..5428ce2076 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -160,7 +160,7 @@ /obj/item/gun/energy/laser/redtag/hitscan ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag/hitscan) -/obj/item/gun/energy/laser/redtag/hitscan/holyak +/obj/item/gun/energy/laser/redtag/hitscan/chaplain name = "\improper holy lasrifle" desc = "A lasrifle from the old Imperium. This one seems to be blessed by techpriests." icon_state = "LaserAK" @@ -169,10 +169,50 @@ pin = /obj/item/firing_pin/holy icon = 'modular_citadel/icons/obj/guns/VGguns.dmi' ammo_x_offset = 4 + ammo_type = list(/obj/item/ammo_casing/energy/laser/redtag/hitscan/holy) lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' var/chaplain_spawnable = TRUE -/obj/item/gun/energy/laser/redtag/hitscan/holyak/Initialize() +/obj/item/gun/energy/laser/redtag/hitscan/chaplain/Initialize() . = ..() AddComponent(/datum/component/anti_magic, TRUE, TRUE) + +/obj/item/gun/energy/laser/redtag/hitscan/chaplain/handle_suicide(mob/living/carbon/human/user, mob/living/carbon/human/target, params, bypass_timer) + if(!ishuman(user) || !ishuman(target)) + return + + if(semicd) + return + + if(user == target) + target.visible_message("[user] sticks [src] in [user.p_their()] mouth, ready to pull the trigger...", \ + "You stick [src] in your mouth, ready to pull the trigger...") + else + target.visible_message("[user] points [src] at [target]'s head, ready to pull the trigger...", \ + "[user] points [src] at your head, ready to pull the trigger...") + + semicd = TRUE + + if(!bypass_timer && (!do_mob(user, target, 120) || user.zone_selected != BODY_ZONE_PRECISE_MOUTH)) + if(user) + if(user == target) + user.visible_message("[user] decided not to shoot.") + else if(target && target.Adjacent(user)) + target.visible_message("[user] has decided to spare [target]", "[user] has decided to spare your life!") + semicd = FALSE + return + + semicd = FALSE + + target.visible_message("[user] pulls the trigger!", "[user] pulls the trigger!") + + playsound('sound/weapons/dink.ogg', 30, 1) + + if((iscultist(target)) || (is_servant_of_ratvar(target))) + chambered.BB.damage *= 150 + + else if(chambered && chambered.BB) + chambered.BB.damage *= 5 + + process_fire(target, user, TRUE, params) diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index cbd0348743..2399cc8d1e 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -151,6 +151,11 @@ /obj/item/projectile/beam/lasertag/redtag/hitscan hitscan = TRUE +/obj/item/projectile/beam/lasertag/redtag/hitscan/holy + name = "lasrifle beam" + damage = 1 + damage_type = BURN + /obj/item/projectile/beam/lasertag/bluetag icon_state = "bluelaser" suit_types = list(/obj/item/clothing/suit/redtag) diff --git a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm index fa6f2af7af..3e9ae064b1 100644 --- a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm +++ b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm @@ -130,16 +130,6 @@ else return ..() -/obj/item/melee/transforming/energy/sword/cx/chaplain - name = "divine lightblade" - force_on = 20 //haha i'll regret this - block_chance = 50 - var/chaplain_spawnable = TRUE - -/obj/item/melee/transforming/energy/sword/cx/chaplain/Initialize() - . = ..() - AddComponent(/datum/component/anti_magic, TRUE, TRUE) - //OBLIGATORY TOY MEMES ///////////////////////////////////// /obj/item/toy/sword/cx @@ -272,6 +262,20 @@ spinnable = FALSE total_mass_on = 4 +/obj/item/twohanded/dualsaber/hypereutactic/chaplain + name = "\improper divine lightblade" + desc = "A giant blade of bright and holy light, said to cut down the wicked with ease." + force = 5 + force_unwielded = 5 + force_wielded = 20 + block_chance = 50 + armour_penetration = 0 + var/chaplain_spawnable = TRUE + +/obj/item/twohanded/dualsaber/hypereutactic/chaplain/Initialize() + . = ..() + AddComponent(/datum/component/anti_magic, TRUE, TRUE) + /obj/item/twohanded/dualsaber/hypereutactic/pre_altattackby(atom/A, mob/living/user, params) //checks if it can do right click memes altafterattack(A, user, TRUE, params) return TRUE From d9fff579b18fc5ac6ce9d778066dee60616956a1 Mon Sep 17 00:00:00 2001 From: Sishen Date: Sat, 31 Aug 2019 17:39:51 -0400 Subject: [PATCH 3/9] damage and stamina balances --- code/game/objects/items/devices/multitool.dm | 1 + code/game/objects/items/holy_weapons.dm | 5 ++--- code/modules/projectiles/guns/energy/laser.dm | 3 ++- code/modules/projectiles/projectile/beams.dm | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index f54c7092d2..7efc241fa9 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -40,6 +40,7 @@ armour_penetration = 35 hitsound = 'sound/effects/sparks4.ogg' var/chaplain_spawnable = TRUE + total_mass = TOTAL_MASS_MEDIEVAL_WEAPON /obj/item/multitool/chaplain/Initialize() . = ..() diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 163d9a9b4e..664cb9d1ec 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -230,6 +230,7 @@ w_class = WEIGHT_CLASS_TINY obj_flags = UNIQUE_RENAME var/chaplain_spawnable = TRUE + total_mass = TOTAL_MASS_MEDIEVAL_WEAPON /obj/item/nullrod/Initialize() . = ..() @@ -329,7 +330,6 @@ sharpness = IS_SHARP hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") - total_mass = TOTAL_MASS_MEDIEVAL_WEAPON /obj/item/nullrod/claymore/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK) if(attack_type == PROJECTILE_ATTACK) @@ -523,7 +523,6 @@ slot_flags = ITEM_SLOT_BELT w_class = WEIGHT_CLASS_HUGE attack_verb = list("smashed", "bashed", "hammered", "crunched") - total_mass = TOTAL_MASS_MEDIEVAL_WEAPON /obj/item/nullrod/chainsaw name = "chainsaw hand" @@ -586,6 +585,7 @@ lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' slot_flags = ITEM_SLOT_BELT + force = 12 reach = 2 attack_verb = list("whipped", "lashed") hitsound = 'sound/weapons/chainhit.ogg' @@ -675,7 +675,6 @@ hitsound = 'sound/weapons/bladeslice.ogg' attack_verb = list("attacked", "slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") item_flags = SLOWS_WHILE_IN_HAND - total_mass = TOTAL_MASS_NORMAL_ITEM /obj/item/nullrod/tribal_knife/Initialize(mapload) . = ..() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index 5428ce2076..ddfcd63d69 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -173,6 +173,7 @@ lefthand_file = 'modular_citadel/icons/mob/citadel/guns_lefthand.dmi' righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' var/chaplain_spawnable = TRUE + total_mass = TOTAL_MASS_MEDIEVAL_WEAPON /obj/item/gun/energy/laser/redtag/hitscan/chaplain/Initialize() . = ..() @@ -210,7 +211,7 @@ playsound('sound/weapons/dink.ogg', 30, 1) if((iscultist(target)) || (is_servant_of_ratvar(target))) - chambered.BB.damage *= 150 + chambered.BB.damage *= 1500 else if(chambered && chambered.BB) chambered.BB.damage *= 5 diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm index 2399cc8d1e..e43eb5a3bc 100644 --- a/code/modules/projectiles/projectile/beams.dm +++ b/code/modules/projectiles/projectile/beams.dm @@ -153,7 +153,7 @@ /obj/item/projectile/beam/lasertag/redtag/hitscan/holy name = "lasrifle beam" - damage = 1 + damage = 0.1 damage_type = BURN /obj/item/projectile/beam/lasertag/bluetag From 279a6ed83e27e19c9c8280e57e9c52ed0722d4f6 Mon Sep 17 00:00:00 2001 From: Sishen Date: Sat, 31 Aug 2019 17:57:36 -0400 Subject: [PATCH 4/9] bibles now destroy runes instead of nullrods, due to holy weapons encompassing more typepaths --- code/modules/antagonists/cult/runes.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 9330e9b153..3bdcefc328 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -61,8 +61,8 @@ Runes can either be invoked by one's self or with many different cultists. Each if(do_after(user, 15, target = src)) to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.") qdel(src) - else if(istype(I, /obj/item/nullrod)) - user.say("BEGONE FOUL MAGIKS!!", forced = "nullrod") + else if(istype(I, /obj/item/storage/book/bible)) + user.say("BEGONE FOUL MAGICKS!!", forced = "bible") to_chat(user, "You disrupt the magic of [src] with [I].") qdel(src) From b4f27b8841da82cae6866b95a7fd5e9c9cd84965 Mon Sep 17 00:00:00 2001 From: Sishen Date: Sat, 31 Aug 2019 18:05:09 -0400 Subject: [PATCH 5/9] allows renaming of non null rod holyweapons, fixes hypertool description --- code/game/objects/items/devices/multitool.dm | 6 +++++- code/modules/projectiles/guns/energy/laser.dm | 4 ++++ .../code/game/objects/items/melee/eutactic_blades.dm | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/devices/multitool.dm b/code/game/objects/items/devices/multitool.dm index 7efc241fa9..207497922e 100644 --- a/code/game/objects/items/devices/multitool.dm +++ b/code/game/objects/items/devices/multitool.dm @@ -34,13 +34,17 @@ /obj/item/multitool/chaplain name = "\improper hypertool" - desc = "Used for pulsing wires to test which to cut. Seems to cause massive brain damage in certain targets." + desc = "Used for pulsing wires to test which to cut. Also emits microwaves to fry some brains!" damtype = BRAIN force = 18 armour_penetration = 35 hitsound = 'sound/effects/sparks4.ogg' var/chaplain_spawnable = TRUE total_mass = TOTAL_MASS_MEDIEVAL_WEAPON + throw_speed = 3 + throw_range = 4 + throwforce = 10 + obj_flags = UNIQUE_RENAME /obj/item/multitool/chaplain/Initialize() . = ..() diff --git a/code/modules/projectiles/guns/energy/laser.dm b/code/modules/projectiles/guns/energy/laser.dm index ddfcd63d69..bb97f9cf99 100644 --- a/code/modules/projectiles/guns/energy/laser.dm +++ b/code/modules/projectiles/guns/energy/laser.dm @@ -174,6 +174,10 @@ righthand_file = 'modular_citadel/icons/mob/citadel/guns_righthand.dmi' var/chaplain_spawnable = TRUE total_mass = TOTAL_MASS_MEDIEVAL_WEAPON + throw_speed = 3 + throw_range = 4 + throwforce = 10 + obj_flags = UNIQUE_RENAME /obj/item/gun/energy/laser/redtag/hitscan/chaplain/Initialize() . = ..() diff --git a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm index 3e9ae064b1..4cf1d326a2 100644 --- a/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm +++ b/modular_citadel/code/game/objects/items/melee/eutactic_blades.dm @@ -271,6 +271,7 @@ block_chance = 50 armour_penetration = 0 var/chaplain_spawnable = TRUE + obj_flags = UNIQUE_RENAME /obj/item/twohanded/dualsaber/hypereutactic/chaplain/Initialize() . = ..() From 3b40f732668345655d54f8a957228166d2860d8c Mon Sep 17 00:00:00 2001 From: Sishen Date: Sat, 31 Aug 2019 18:37:00 -0400 Subject: [PATCH 6/9] prayer beads no longer instantly deconvert, now inject holy water --- .../code/game/objects/items/holy_weapons.dm | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/modular_citadel/code/game/objects/items/holy_weapons.dm b/modular_citadel/code/game/objects/items/holy_weapons.dm index 3ecc6cc31b..06cdb0f5fd 100644 --- a/modular_citadel/code/game/objects/items/holy_weapons.dm +++ b/modular_citadel/code/game/objects/items/holy_weapons.dm @@ -30,24 +30,16 @@ "You kneel[M == user ? null : " next to [M]"] and begin a prayer to [deity_name].") praying = TRUE - if(do_after(user, 100, target = M)) + if(do_after(user, 20, target = M)) if(istype(M, /mob/living/carbon/human)) // This probably should not work on catpeople. They're unholy abominations. var/mob/living/carbon/human/target = M - - if(iscultist(M) || is_servant_of_ratvar(M)) //ripped from holywater code. - if(iscultist(M)) - SSticker.mode.remove_cultist(M.mind, FALSE, TRUE) - else if(is_servant_of_ratvar(M)) - remove_servant_of_ratvar(M) - + M.reagents.add_reagent("holywater", 5) to_chat(target, "[user]'s prayer to [deity_name] has eased your pain!") target.adjustToxLoss(-5, TRUE, TRUE) target.adjustOxyLoss(-5) target.adjustBruteLoss(-5) target.adjustFireLoss(-5) - praying = FALSE - else to_chat(user, "Your prayer to [deity_name] was interrupted.") praying = FALSE From 0b6eb6e34c2c64a1c4498bb7c530a626ad71f385 Mon Sep 17 00:00:00 2001 From: Sishen Date: Sun, 1 Sep 2019 22:36:39 -0400 Subject: [PATCH 7/9] Update holy_weapons.dm --- code/game/objects/items/holy_weapons.dm | 45 +++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index 664cb9d1ec..dc4c260afe 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -275,6 +275,13 @@ qdel(src) M.put_in_active_hand(holy_weapon) +/obj/item/nullrod/proc/jedi_spin(mob/living/user) + for(var/i in list(NORTH,SOUTH,EAST,WEST,EAST,SOUTH,NORTH,SOUTH,EAST,WEST,EAST,SOUTH)) + user.setDir(i) + if(i == WEST) + user.emote("flip") + sleep(1) + /obj/item/nullrod/godhand icon_state = "disintegrate" item_state = "disintegrate" @@ -662,6 +669,44 @@ lefthand_file = 'icons/mob/inhands/weapons/staves_lefthand.dmi' righthand_file = 'icons/mob/inhands/weapons/staves_righthand.dmi' +/obj/item/nullrod/claymore/bostaff/attack(mob/target, mob/living/user) + add_fingerprint(user) + if((HAS_TRAIT(user, TRAIT_CLUMSY)) && prob(50)) + to_chat(user, "You club yourself over the head with [src].") + user.Knockdown(60) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + H.apply_damage(2*force, BRUTE, BODY_ZONE_HEAD) + else + user.take_bodypart_damage(2*force) + return + if(iscyborg(target)) + return ..() + if(!isliving(target)) + return ..() + var/mob/living/carbon/C = target + if(C.stat || C.health < 0 || C.staminaloss > 130 ) + to_chat(user, "It would be dishonorable to attack a foe while they cannot retaliate.") + return + if(user.a_intent == INTENT_DISARM) + if(!ishuman(target)) + return ..() + var/mob/living/carbon/human/H = target + var/list/fluffmessages = list("[user] clubs [H] with [src]!", \ + "[user] smacks [H] with the butt of [src]!", \ + "[user] broadsides [H] with [src]!", \ + "[user] smashes [H]'s head with [src]!", \ + "[user] beats [H] with front of [src]!", \ + "[user] twirls and slams [H] with [src]!") + H.visible_message("[pick(fluffmessages)]", \ + "[pick(fluffmessages)]") + playsound(get_turf(user), 'sound/effects/woodhit.ogg', 75, 1, -1) + H.adjustStaminaLoss(rand(12,18)) + if(prob(25)) + (INVOKE_ASYNC(src, .proc/jedi_spin, user)) + else + return ..() + /obj/item/nullrod/tribal_knife icon_state = "crysknife" item_state = "crysknife" From 3f954f10a7f324f5056f7dfd9d845bdb07723f32 Mon Sep 17 00:00:00 2001 From: Sishen Date: Mon, 2 Sep 2019 02:09:59 -0400 Subject: [PATCH 8/9] Update runes.dm --- code/modules/antagonists/cult/runes.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 3bdcefc328..29b4e4539c 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -61,7 +61,7 @@ Runes can either be invoked by one's self or with many different cultists. Each if(do_after(user, 15, target = src)) to_chat(user, "You carefully erase the [lowertext(cultist_name)] rune.") qdel(src) - else if(istype(I, /obj/item/storage/book/bible)) + else if(istype(I, /obj/item/storage/book/bible) || istype(I, /obj/item/nullrod)) user.say("BEGONE FOUL MAGICKS!!", forced = "bible") to_chat(user, "You disrupt the magic of [src] with [I].") qdel(src) From d431ee1a201abf3fc4bb544d9d12e2c2bab4f831 Mon Sep 17 00:00:00 2001 From: Sishen Date: Wed, 4 Sep 2019 03:01:47 -0400 Subject: [PATCH 9/9] baseball bat --- code/game/objects/items/holy_weapons.dm | 3 ++- code/game/objects/items/weaponry.dm | 13 +++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/code/game/objects/items/holy_weapons.dm b/code/game/objects/items/holy_weapons.dm index dc4c260afe..185875a93f 100644 --- a/code/game/objects/items/holy_weapons.dm +++ b/code/game/objects/items/holy_weapons.dm @@ -251,7 +251,8 @@ var/list/holy_weapons_list = typesof(/obj/item/nullrod) + list( /obj/item/twohanded/dualsaber/hypereutactic/chaplain, /obj/item/gun/energy/laser/redtag/hitscan/chaplain, - /obj/item/multitool/chaplain + /obj/item/multitool/chaplain, + /obj/item/melee/baseball_bat/chaplain ) var/list/display_names = list() for(var/V in holy_weapons_list) diff --git a/code/game/objects/items/weaponry.dm b/code/game/objects/items/weaponry.dm index 560731edfd..db7ff63e93 100644 --- a/code/game/objects/items/weaponry.dm +++ b/code/game/objects/items/weaponry.dm @@ -513,6 +513,19 @@ for further reading, please see: https://github.com/tgstation/tgstation/pull/301 var/homerun_able = 0 total_mass = 2.7 //a regular wooden major league baseball bat weighs somewhere between 2 to 3.4 pounds, according to google +/obj/item/melee/baseball_bat/chaplain + name = "blessed baseball bat" + desc = "There ain't a cult in the league that can withstand a swatter." + force = 14 + throwforce = 14 + obj_flags = UNIQUE_RENAME + var/chaplain_spawnable = TRUE + total_mass = TOTAL_MASS_MEDIEVAL_WEAPON + +/obj/item/melee/baseball_bat/chaplain/Initialize() + . = ..() + AddComponent(/datum/component/anti_magic, TRUE, TRUE) + /obj/item/melee/baseball_bat/homerun name = "home run bat" desc = "This thing looks dangerous... Dangerously good at baseball, that is."