[MIRROR] Magboot and glove fix (#12686)

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2026-04-16 12:29:20 -04:00
committed by GitHub
co-authored by Cameron Lennox
parent 088d680358
commit 966e4accb2
95 changed files with 304 additions and 386 deletions
@@ -75,7 +75,7 @@
siemens_coefficient = 0
armor = list(melee = 70, bullet = 60, laser = 50, energy = 50, bomb = 0, bio = 0, rad = 0)
/obj/item/clothing/gloves/stamina/equipped(mob/user)
/obj/item/clothing/gloves/stamina/equipped(mob/user, slot)
..()
var/mob/living/carbon/human/H = wearer?.resolve()
if(H && H.gloves == src)
@@ -83,7 +83,7 @@
to_chat(H, span_danger("You feel strange as hunger vanishes!"))
H.custom_pain("Your hands feel strange!",1)
/obj/item/clothing/gloves/stamina/dropped(mob/user)
/obj/item/clothing/gloves/stamina/dropped(mob/user, equipping, slot)
var/mob/living/carbon/human/H = wearer?.resolve()
if(H)
if(H.can_feel_pain())
@@ -120,21 +120,21 @@
var/flavor_activate = null // Ditto, for but activating.
var/brainloss_cost = 0
/obj/item/clothing/suit/armor/buffvest/proc/activate_ability(var/mob/living/wearer)
/obj/item/clothing/suit/armor/buffvest/proc/activate_ability(mob/living/wearer)
cooldown = world.time + cooldown_duration
to_chat(wearer, flavor_activate)
to_chat(wearer, span_danger("The inside of your head hurts..."))
wearer.adjustBrainLoss(brainloss_cost)
wearer.add_modifier(/datum/modifier/aura/candy_blue, 30 SECONDS)
/obj/item/clothing/suit/armor/buffvest/equipped(var/mob/living/carbon/human/H)
/obj/item/clothing/suit/armor/buffvest/equipped(mob/living/carbon/human/H, slot)
..()
if(istype(H) && H.head == src && H.is_sentient())
START_PROCESSING(SSobj, src)
if(flavor_equip)
to_chat(H, span_info(flavor_equip))
/obj/item/clothing/suit/armor/buffvest/dropped(var/mob/living/carbon/human/H)
/obj/item/clothing/suit/armor/buffvest/dropped(mob/living/carbon/human/H, equipping, slot)
..()
STOP_PROCESSING(SSobj, src)
if(H.is_sentient())
@@ -25,17 +25,17 @@
transform = transform.Turn(-45)
transform = transform.Translate(-16,0)
/obj/item/gun/projectile/automatic/serdy/equipped()
/obj/item/gun/projectile/automatic/serdy/equipped(mob/living/user, slot)
. = ..()
is_picked_up = TRUE
update_transform()
/obj/item/gun/projectile/automatic/serdy/pickup()
/obj/item/gun/projectile/automatic/serdy/pickup(mob/user)
. = ..()
is_picked_up = TRUE
update_transform()
/obj/item/gun/projectile/automatic/serdy/dropped()
/obj/item/gun/projectile/automatic/serdy/dropped(mob/user, equipping, slot)
. = ..()
is_picked_up = FALSE
update_transform()
@@ -1380,17 +1380,17 @@
if(is64x32)
update_transform()
/obj/item/gun/projectile/shotgun/pump/equipped()
/obj/item/gun/projectile/shotgun/pump/equipped(mob/living/user, slot)
. = ..()
is_picked_up = TRUE
update_transform()
/obj/item/gun/projectile/shotgun/pump/pickup()
/obj/item/gun/projectile/shotgun/pump/pickup(mob/user)
. = ..()
is_picked_up = TRUE
update_transform()
/obj/item/gun/projectile/shotgun/pump/dropped()
/obj/item/gun/projectile/shotgun/pump/dropped(mob/user, equipping, slot)
. = ..()
is_picked_up = FALSE
update_transform()
@@ -1480,17 +1480,17 @@
transform = transform.Turn(-45)
transform = transform.Translate(-16,0)
/obj/item/gun/projectile/shotgun/doublebarrel/equipped()
/obj/item/gun/projectile/shotgun/doublebarrel/equipped(mob/living/user, slot)
. = ..()
is_picked_up = TRUE
update_transform()
/obj/item/gun/projectile/shotgun/doublebarrel/pickup()
/obj/item/gun/projectile/shotgun/doublebarrel/pickup(mob/user)
. = ..()
is_picked_up = TRUE
update_transform()
/obj/item/gun/projectile/shotgun/doublebarrel/dropped()
/obj/item/gun/projectile/shotgun/doublebarrel/dropped(mob/user, equipping, slot)
. = ..()
is_picked_up = FALSE
update_transform()
@@ -0,0 +1,130 @@
/* Two-handed Weapons
* Contains:
* Twohanded
* Fireaxe
* Double-Bladed Energy Swords
*/
/*##################################################################
##################### TWO HANDED WEAPONS BE HERE~ -Agouri :3 ########
####################################################################*/
//Rewrote TwoHanded weapons stuff and put it all here. Just copypasta fireaxe to make new ones ~Carn
//This rewrite means we don't have two variables for EVERY item which are used only by a few weapons.
//It also tidies stuff up elsewhere.
/*
* Twohanded
*/
/obj/item/oldtwohanded
var/wielded = 0
var/force_wielded = 0
var/wieldsound = null
var/unwieldsound = null
var/base_icon
/obj/item/oldtwohanded/proc/unwield()
wielded = 0
force = initial(force)
name = "[initial(name)]"
update_icon()
/obj/item/oldtwohanded/proc/wield()
wielded = 1
force = force_wielded
name = "[initial(name)] (Wielded)"
update_icon()
/obj/item/oldtwohanded/Initialize(mapload)
. = ..()
update_icon()
/obj/item/oldtwohanded/mob_can_equip(M as mob, slot, disable_warning = FALSE)
//Cannot equip wielded items.
if(wielded)
to_chat(M, span_warning("Unwield the [initial(name)] first!"))
return 0
return ..()
/obj/item/oldtwohanded/dropped(mob/user, equipping, slot)
//handles unwielding a twohanded weapon when dropped as well as clearing up the offhand
..()
if(user)
var/obj/item/oldtwohanded/O = user.get_inactive_hand()
if(istype(O))
O.unwield()
return unwield()
/obj/item/oldtwohanded/update_icon()
icon_state = "[base_icon][wielded]"
item_state = icon_state
/obj/item/oldtwohanded/pickup(mob/user)
unwield()
/obj/item/oldtwohanded/attack_self(mob/user, modifiers)
..()
if(wielded) //Trying to unwield it
unwield()
to_chat(user, span_notice("You are now carrying the [name] with one hand."))
if (src.unwieldsound)
playsound(src.loc, unwieldsound, 50, 1)
var/obj/item/oldtwohanded/offhand/O = user.get_inactive_hand()
if(O && istype(O))
O.unwield()
else //Trying to wield it
if(user.get_inactive_hand())
to_chat(user, span_warning("You need your other hand to be empty"))
return
wield()
to_chat(user, span_notice("You grab the [initial(name)] with both hands."))
if (src.wieldsound)
playsound(src.loc, wieldsound, 50, 1)
var/obj/item/oldtwohanded/offhand/O = new(user) ////Let's reserve his other hand~
O.name = "[initial(name)] - offhand"
O.desc = "Your second grip on the [initial(name)]"
user.put_in_inactive_hand(O)
if(istype(user,/mob/living/carbon/human))
var/mob/living/carbon/human/H = user
H.update_inv_l_hand()
H.update_inv_r_hand()
return
///////////OFFHAND///////////////
/obj/item/oldtwohanded/offhand
w_class = 5.0
icon_state = "offhand"
name = "offhand"
/obj/item/oldtwohanded/offhand/unwield()
qdel(src)
/obj/item/oldtwohanded/offhand/wield()
qdel(src)
/obj/item/oldtwohanded/offhand/update_icon()
return
//spears, bay edition
/obj/item/oldtwohanded/spear
icon_state = "spearglass0"
base_icon = "spearglass"
name = "spear"
desc = "A haphazardly-constructed yet still deadly weapon of ancient design."
force = 14
w_class = 4.0
slot_flags = SLOT_BACK
force_wielded = 22 // Was 13, Buffed - RR
throwforce = 20
throw_speed = 3
edge = 0
sharp = 1
hitsound = 'sound/weapons/bladeslice.ogg'
attack_verb = list("attacked", "poked", "jabbed", "torn", "gored")