!f4~8{Z)BR3KOn~M(fIJv1C7#H->W2|$yOS;P@$Q6G!Rc4Voym@|FR+P=#PkH
zh5|Vf+0t7Cf*6z}EJ=<#Wf4-&nT2AHLUiX_dk(=^avwVXE9346X@^t%mD;#
zeo>zuG~q4|D4zBr#8PFfLym~M;1BoQxBY99$dMQITw;iQH_b{RIVhg
zNPYRJ(_+t;rH%aL-E!qbWn5s)Q{+AT7e+Wn%v_pBbx;FoB=RK}Qul3xA`mhI%RENQ
zLsT>vdX$<+Pl8l0dV~`N$3ya?DF)hrwJ18h51*~L?K`mSo``-Njs=*ZRoqkA+NQ=bP|9d?Q2GXzI<=G=oh5%M8
PfnL5)mMwYq&hI|}&OVN2
literal 0
HcmV?d00001
diff --git a/icons/obj/estaff.dmi b/icons/obj/estaff.dmi
new file mode 100644
index 0000000000000000000000000000000000000000..4c1a6788023ebac8b2cc67660efacc8325b2e2f0
GIT binary patch
literal 1580
zcmV+{2GjY8P)005u}0{{R3yb+fl0000mP)t-s|NsAQ
ze~;wn>aV-TMo@GA{{Y^$Js>ndP*r3wHAaq)m>?r9O~e0j^Z)+<0FVFxo&lW%00001
zbW%=J06^y0W&i*Hje1mAbVOxyV{&P5bZKvH004NLQ&w;!Mdb
zDh5gza&e{=CFZ7r*cL$1)SSdhkg%SS4jzodTtga}YeXY+jj@|+$fc~{>gNIuX8`T!
zVO6NsY7+ne1rbR^K~#90?VH_pq#zK4MTME!@bms}yGY3HO{$6`I+zo={b;&D2dx^M
zCf1Chcs!q%6(HNkUFk#Ow?58NzKw6pgXSmPQeH-IjF<7Pu{eAie?{>w_h5YM;yAaI
z=K}1;QGvOFm56b7%onjwbNMVTXhCuSFTE
zeuN9`7GpEV7ii`AkKxQfuvwoIfj&(SI{slC)~MoP+h#S~|Kr@b*$ID6`FFdyZ;QwN
z+$UH5-fr%j;;p6kzneK{`>z)~nYEP
zy?TClPk$d_COkCmUnGCw(7e#&=lO^3{fp&q;q3Xb_=fs$f;P_bi}{P|U;Q~)K;^K2
zMy~R+4&0w>0eco6WUVoc^#|(t5U-9XO%mdZ$
zjs9Q*hc&juvkEWk4<5qzpZ|+}Je58=|L*gDQSvCp&phe;@cxa0r`$vA-zjk(1)sQo
znfm_!NR9quBz*Mwzl|r%z1TmGsSg*R`19pgws{@&{V^<{a(smk^7mkZUf$&2B|N{+
z_yiZIj=w+uCG-=%0guc7{SsYc{^#-0{@?8n{%$_n|GWLcoA2f6{QMX82TSArT}+h6
z#NvxS>i@pj@AvQG$$a|sm#F_G^b6N-sgdK?D-+Br&aX81g9*KVCZ#|1_r?7DLfiR2
zyugO*pZKQlixo!`h?T<$D1YuC{TopUpF9!)I{19x%I}Y9{Q1DjX^pTke=Z5G;`@0@
zk^6Hg&1uy4$CXFJR$lYdzCSLvL{!g@80r0=X3l&6A1eD3@xRpmmu8a$@BhA-)hC`G
z>k?^w$Ly~xzlaytKQ1Qr)TjKpet$5o~yaH
literal 0
HcmV?d00001
diff --git a/sound/weapons/staff.ogg b/sound/weapons/staff.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..35b42dfd8d8636f933f3338295757a21d7dc4aa3
GIT binary patch
literal 20026
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
FG65_fXtMwS
literal 0
HcmV?d00001
From e9ec314cf6c30df58f5acbad5ec295d625f73870 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 13:15:12 -0700
Subject: [PATCH 02/38] yo this is a horrible idea
---
code/__DEFINES/movespeed_modification.dm | 2 +-
code/datums/status_effects/debuffs.dm | 2 +-
code/game/objects/items/twohanded.dm | 11 ++++++-----
3 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/code/__DEFINES/movespeed_modification.dm b/code/__DEFINES/movespeed_modification.dm
index 2db40cc988..5d35da5382 100644
--- a/code/__DEFINES/movespeed_modification.dm
+++ b/code/__DEFINES/movespeed_modification.dm
@@ -70,4 +70,4 @@
#define MOVESPEED_ID_MKULTRA "MKULTRA"
-#define MOVESPEED_ID_ELECTROSTAFF "ELECTROSTAFF"
+#define MOVESPEED_ID_ELECTROSTAFF "ELECTROSTAFF"
\ No newline at end of file
diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm
index 335bdfac6e..864dd5893f 100644
--- a/code/datums/status_effects/debuffs.dm
+++ b/code/datums/status_effects/debuffs.dm
@@ -596,7 +596,7 @@
if(isnum(set_duration))
duration = set_duration
. = ..()
- owner.add_movespeed_modifier(MOVESPEED_ID_ELECTROSTAFF, multiplicative_slowdown = 1, movetypes = GROUND, blacklisted_movetypes = CRAWLING)
+ owner.add_movespeed_modifier(MOVESPEED_ID_ELECTROSTAFF, multiplicative_slowdown = 1, movetypes = GROUND)
/datum/status_effect/electrostaff/on_remove()
owner.remove_movespeed_modifier(MOVESPEED_ID_ELECTROSTAFF)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 44fe9e3a0e..bba8bd4774 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1041,6 +1041,7 @@
attack_verb = list("suppresed", "struck", "beaten", "thwacked", "pulped", "shocked")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors.
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
+ var/on = FALSE
var/lethal_cost = 400 //10000/333*15 = 450. decent enough?? kinda?
var/lethal_damage = 15
var/lethal_stam_cost = 3.5
@@ -1159,7 +1160,7 @@
if(C.charge < min_hit_cost())
turn_off()
-/obj/item/twohanded/required/electrostaff/attack(mob/living/target, mob/living/user)
+/obj/item/melee/twohanded/required/electrostaff/attack(mob/living/target, mob/living/user)
if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit
to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto
return //CIT CHANGE - ditto
@@ -1186,7 +1187,7 @@
user.do_attack_animation(M)
user.adjustStaminaLossBuffered(harm_stam_cost)
-/obj/item/twohanded/required/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
+/obj/item/melee/twohanded/required/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
var/stunforce = stun_stamdmg
if(!no_charge_and_force)
if(!on)
@@ -1217,7 +1218,7 @@
H.forcesay(GLOB.hit_appends)
return TRUE
-/obj/item/twohanded/required/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
+/obj/item/melee/twohanded/required/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
var/lethal_force = lethal_damage
if(!no_charge_and_force)
if(!on)
@@ -1240,7 +1241,7 @@
playsound(src, 'sound/weapons/sear.ogg', 50, 1, -1)
return TRUE
-/obj/item/twohanded/required/electrostaff/proc/clowning_around(mob/living/user)
+/obj/item/melee/twohanded/required/electrostaff/proc/clowning_around(mob/living/user)
user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \
"You accidentally hit yourself with [src]!")
SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK)
@@ -1248,7 +1249,7 @@
stun_act(user, user, TRUE)
deductcharge(lethal_cost)
-/obj/item/twohanded/required/electrostaff/emp_act(severity)
+/obj/item/melee/twohanded/required/electrostaff/emp_act(severity)
. = ..()
if (!(. & EMP_PROTECT_SELF))
turn_off()
From 70beec5985343c90c723c5c25ffd91aeeb396dc5 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 13:30:41 -0700
Subject: [PATCH 03/38] woops
---
code/game/objects/items/twohanded.dm | 57 ++++++++++++++++++----------
1 file changed, 36 insertions(+), 21 deletions(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index bba8bd4774..afc25293bb 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -24,7 +24,7 @@
* Twohanded
*/
/obj/item/twohanded
- var/wielded = 0
+ var/wielded = FALSE
var/force_unwielded // default to null, the number force will be set to on unwield()
var/force_wielded // same as above but for wield()
var/wieldsound = null
@@ -1018,7 +1018,7 @@
user.client.pixel_x = 0
user.client.pixel_y = 0
-/obj/item/twohanded/required/electrostaff
+/obj/item/twohanded/electrostaff
icon = 'icons/obj/estaff.dmi'
icon_state = "electrostaff_3"
item_state = "electrostaff_3"
@@ -1031,7 +1031,7 @@
w_class = WEIGHT_CLASS_GIGANTIC
slot_flags = ITEM_SLOT_BACK
sharpness = FALSE
- force_unwielded = 0
+ force_unwielded = 5
force_wielded = 10
throwforce = 1
throw_speed = 1
@@ -1042,6 +1042,7 @@
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors.
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
var/on = FALSE
+ var/can_block_projectiles = FALSE //can't block guns
var/lethal_cost = 400 //10000/333*15 = 450. decent enough?? kinda?
var/lethal_damage = 15
var/lethal_stam_cost = 3.5
@@ -1051,21 +1052,30 @@
var/stun_status_duration = 25
var/stun_stam_cost = 3.5
-/obj/item/twohanded/required/electrostaff/Initialize(mapload)
+/obj/item/twohanded/electrostaff/Initialize(mapload)
. = ..()
if(ispath(cell))
cell = new cell
-/obj/item/twohanded/required/electrostaff/get_cell()
+/obj/item/twohanded/electrostaff/Destroy()
+ STOP_PROCESSING(SSobj, src)
+ return ..()
+
+/obj/item/twohanded/electrostaff/get_cell()
. = cell
if(iscyborg(loc))
var/mob/living/silicon/robot/R = loc
. = R.get_cell()
-/obj/item/twohanded/required/electrostaff/proc/min_hitcost()
+/obj/item/twohanded/electrostaff/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) && !can_block_projectiles)
+ return FALSE
+ return ..()
+
+/obj/item/twohanded/electrostaff/proc/min_hitcost()
return min(stun_cost, lethal_cost)
-/obj/item/twohanded/required/electrostaff/proc/turn_on(mob/user, silent = FALSE)
+/obj/item/twohanded/electrostaff/proc/turn_on(mob/user, silent = FALSE)
if(on)
return
if(!cell)
@@ -1084,7 +1094,7 @@
if(!silent)
playsound(src, "sparks", 75, 1, -1)
-/obj/item/twohanded/required/electrostaff/proc/turn_off(mob/user, silent = FALSE)
+/obj/item/twohanded/electrostaff/proc/turn_off(mob/user, silent = FALSE)
if(!on)
return
if(user)
@@ -1095,34 +1105,39 @@
if(!silent)
playsound(src, "sparks", 75, 1, -1)
-/obj/item/twohanded/required/electrostaff/proc/toggle(mob/user, silent = FALSE)
+/obj/item/twohanded/electrostaff/proc/toggle(mob/user, silent = FALSE)
if(on)
turn_off(user, silent)
else
turn_on(user, silent)
-/obj/item/twohanded/required/electrostaff/attack_self(mob/user)
+/obj/item/twohanded/electrostaff/attack_self(mob/user)
+ var/oldwielded = wielded
. = ..()
if(.)
return
- toggle(user)
+ if(oldwielded != wielded)
+ if(wielded)
+ turn_on(user)
+ else
+ turn_off(user)
add_fingerprint(user)
-/obj/item/twohanded/required/electrostaff/update_icon()
+/obj/item/twohanded/electrostaff/update_icon()
. = ..()
var/final = on? "electrostaff_1" : "electrostaff_3"
icon_state = final
item_state = final
set_light(7, on? 1 : 0, LIGHT_COLOR_CYAN)
-/obj/item/twohanded/required/electrostaff/examine(mob/living/user)
+/obj/item/twohanded/electrostaff/examine(mob/living/user)
. = ..()
if(cell)
. += "The cell charge is [round(cell.percent())]%."
else
. += "There is no cell installed!"
-/obj/item/twohanded/required/electrostaff/attackby(obj/item/W, mob/user, params)
+/obj/item/twohanded/electrostaff/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/stock_parts/cell))
var/obj/item/stock_parts/cell/C = W
if(cell)
@@ -1146,10 +1161,10 @@
else
return ..()
-/obj/item/melee/twohanded/required/electrostaff/process()
+/obj/item/twohanded/electrostaff/process()
deductcharge(50) //Wasteful!
-/obj/item/melee/twohanded/required/electrostaff/proc/deductcharge(amount)
+/obj/item/twohanded/electrostaff/proc/deductcharge(amount)
var/obj/item/stock_parts/cell/C = get_cell()
if(!C)
turn_off()
@@ -1160,7 +1175,7 @@
if(C.charge < min_hit_cost())
turn_off()
-/obj/item/melee/twohanded/required/electrostaff/attack(mob/living/target, mob/living/user)
+/obj/item/twohanded/electrostaff/attack(mob/living/target, mob/living/user)
if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit
to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto
return //CIT CHANGE - ditto
@@ -1187,7 +1202,7 @@
user.do_attack_animation(M)
user.adjustStaminaLossBuffered(harm_stam_cost)
-/obj/item/melee/twohanded/required/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
+/obj/item/twohanded/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
var/stunforce = stun_stamdmg
if(!no_charge_and_force)
if(!on)
@@ -1218,7 +1233,7 @@
H.forcesay(GLOB.hit_appends)
return TRUE
-/obj/item/melee/twohanded/required/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
+/obj/item/twohanded/electrostaff/proc/harm_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
var/lethal_force = lethal_damage
if(!no_charge_and_force)
if(!on)
@@ -1241,7 +1256,7 @@
playsound(src, 'sound/weapons/sear.ogg', 50, 1, -1)
return TRUE
-/obj/item/melee/twohanded/required/electrostaff/proc/clowning_around(mob/living/user)
+/obj/item/twohanded/electrostaff/proc/clowning_around(mob/living/user)
user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \
"You accidentally hit yourself with [src]!")
SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK)
@@ -1249,7 +1264,7 @@
stun_act(user, user, TRUE)
deductcharge(lethal_cost)
-/obj/item/melee/twohanded/required/electrostaff/emp_act(severity)
+/obj/item/twohanded/electrostaff/emp_act(severity)
. = ..()
if (!(. & EMP_PROTECT_SELF))
turn_off()
From 8556bcf2b34d19d75cd58ea80b9e898561a9aff7 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 13:36:10 -0700
Subject: [PATCH 04/38] compile
---
code/game/machinery/recharger.dm | 2 +-
code/game/objects/items/twohanded.dm | 15 +++++++++------
.../crates_lockers/closets/secure/security.dm | 4 ++--
3 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index 29116b5a7c..20594a674d 100755
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -18,7 +18,7 @@
/obj/item/modular_computer,
/obj/item/gun/ballistic/automatic/magrifle_e,
/obj/item/gun/ballistic/automatic/pistol/mag_e,
- /obj/item/twohanded/required/electrostaff))
+ /obj/item/twohanded/electrostaff))
/obj/machinery/recharger/RefreshParts()
for(var/obj/item/stock_parts/capacitor/C in component_parts)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index afc25293bb..e04ec75345 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1155,15 +1155,18 @@
if(cell)
cell.update_icon()
cell.forceMove(get_turf(src))
- cell= null
+ cell = null
to_chat(user, "You remove the cell from [src].")
- depower(user)
+ turn_off(user, TRUE)
else
return ..()
/obj/item/twohanded/electrostaff/process()
deductcharge(50) //Wasteful!
+/obj/item/twohanded/electrostaff/proc/min_hit_cost()
+ return min(lethal_cost, stun_cost)
+
/obj/item/twohanded/electrostaff/proc/deductcharge(amount)
var/obj/item/stock_parts/cell/C = get_cell()
if(!C)
@@ -1193,14 +1196,14 @@
return FALSE
if(user.a_intent != INTENT_HARM)
if(stun_act(target, user))
- user.do_attack_animation(M)
+ user.do_attack_animation(target)
user.adjustStaminaLossBuffered(stun_stam_cost)
return
else if(!harm_act(target, user))
return ..() //if you can't fry them just beat them with it
else //we did harm act them
- user.do_attack_animation(M)
- user.adjustStaminaLossBuffered(harm_stam_cost)
+ user.do_attack_animation(target)
+ user.adjustStaminaLossBuffered(lethal_stam_cost)
/obj/item/twohanded/electrostaff/proc/stun_act(mob/living/target, mob/living/user, no_charge_and_force = FALSE)
var/stunforce = stun_stamdmg
@@ -1245,7 +1248,7 @@
return FALSE
if(chargeleft < stun_cost)
lethal_force *= round(chargeleft/lethal_cost, 0.1)
- target.adjustBurnLoss(lethal_force) //good against ointment spam
+ target.adjustFireLoss(lethal_force) //good against ointment spam
SEND_SIGNAL(target, COMSIG_LIVING_MINOR_SHOCK)
if(user)
target.lastattacker = user.real_name
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index 43021f3528..85fcb49e16 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -289,8 +289,8 @@
icon_state = "tac"
/obj/structure/closet/secure_closet/lethalshots/PopulateContents()
..()
- new /obj/item/twohanded/required/electrostaff(src)
- new /obj/item/twohanded/required/electrostaff(src)
+ new /obj/item/twohanded/electrostaff(src)
+ new /obj/item/twohanded/electrostaff(src)
for(var/i in 1 to 3)
new /obj/item/storage/box/lethalshot(src)
From e1ed34dcdec0edc4da03abcaff28ef88664e1428 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 13:38:18 -0700
Subject: [PATCH 05/38] s
---
code/game/objects/items/twohanded.dm | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index e04ec75345..f22f885753 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1143,7 +1143,7 @@
if(cell)
to_chat(user, "[src] already has a cell!")
else
- if(C.maxcharge < hitcost)
+ if(C.maxcharge < min_hit_cost())
to_chat(user, "[src] requires a higher capacity cell.")
return
if(!user.transferItemToLoc(W, src))
@@ -1182,12 +1182,9 @@
if(user.getStaminaLoss() >= STAMINA_SOFTCRIT)//CIT CHANGE - makes it impossible to baton in stamina softcrit
to_chat(user, "You're too exhausted for that.")//CIT CHANGE - ditto
return //CIT CHANGE - ditto
- if(status && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
- if(on)
- clowning_around(user) //ouch!
- return
- else
- return ..(user, user) //beat yourself
+ if(on && HAS_TRAIT(user, TRAIT_CLUMSY) && prob(50))
+ clowning_around(user) //ouch!
+ return
if(iscyborg(target))
..()
return
@@ -1263,7 +1260,7 @@
user.visible_message("[user] accidentally hits [user.p_them()]self with [src]!", \
"You accidentally hit yourself with [src]!")
SEND_SIGNAL(user, COMSIG_LIVING_MINOR_SHOCK)
- lethal_act(user, user, TRUE)
+ harm_act(user, user, TRUE)
stun_act(user, user, TRUE)
deductcharge(lethal_cost)
From dd113f5c7193a00c195b3c42db52417bc31c854e Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 13:39:36 -0700
Subject: [PATCH 06/38] L
---
code/game/objects/items/twohanded.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index f22f885753..9cd37099e1 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1189,7 +1189,7 @@
..()
return
if(target.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) //No message; check_shields() handles that
- playsound(L, 'sound/weapons/genhit.ogg', 50, 1)
+ playsound(target, 'sound/weapons/genhit.ogg', 50, 1)
return FALSE
if(user.a_intent != INTENT_HARM)
if(stun_act(target, user))
From c69446d2d11575138c251564da73730dfd75d80b Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 13:46:54 -0700
Subject: [PATCH 07/38] woops miscalculated
---
code/game/objects/items/twohanded.dm | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 9cd37099e1..e395452d3a 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1029,7 +1029,7 @@
force = 10
damtype = BRUTE
w_class = WEIGHT_CLASS_GIGANTIC
- slot_flags = ITEM_SLOT_BACK
+ slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
sharpness = FALSE
force_unwielded = 5
force_wielded = 10
@@ -1043,10 +1043,10 @@
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
var/on = FALSE
var/can_block_projectiles = FALSE //can't block guns
- var/lethal_cost = 400 //10000/333*15 = 450. decent enough?? kinda?
- var/lethal_damage = 15
- var/lethal_stam_cost = 3.5
- var/stun_cost = 333 //10000/500*25 = 500. stunbatons are at time of writing 10000/1000*49 = 490. This doesn't stun as fast but has block. Also, this does..
+ var/lethal_cost = 400 //10000/400*20 = 500. decent enough?
+ var/lethal_damage = 20
+ var/lethal_stam_cost = 4
+ var/stun_cost = 333 //10000/333*25 = 750. stunbatons are at time of writing 10000/1000*49 = 490.
var/stun_status_effect = STATUS_EFFECT_ELECTROSTAFF //a small slowdown effect
var/stun_stamdmg = 25
var/stun_status_duration = 25
From 9b4e40e3a76f1697ecbee3e597430f940ee1a3ca Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 13:48:03 -0700
Subject: [PATCH 08/38] on second thought, fitting on OCLOTHING slot is a bad
idea
---
code/game/objects/items/twohanded.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index e395452d3a..27b0baa70d 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1029,7 +1029,7 @@
force = 10
damtype = BRUTE
w_class = WEIGHT_CLASS_GIGANTIC
- slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
+ slot_flags = ITEM_SLOT_BACK
sharpness = FALSE
force_unwielded = 5
force_wielded = 10
From 09bb223af027efd193f4950a8aaf59e66a7410e9 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Mon, 3 Feb 2020 15:49:41 -0700
Subject: [PATCH 09/38] eh fine
---
code/game/objects/items/twohanded.dm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 27b0baa70d..564cca60fb 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1028,7 +1028,7 @@
desc = "A large quarterstaff, with massive silver electrodes mounted at the end."
force = 10
damtype = BRUTE
- w_class = WEIGHT_CLASS_GIGANTIC
+ w_class = WEIGHT_CLASS_HUGE
slot_flags = ITEM_SLOT_BACK
sharpness = FALSE
force_unwielded = 5
@@ -1036,7 +1036,7 @@
throwforce = 1
throw_speed = 1
block_chance = 50
- materials = list(MAT_METAL=1000)
+ materials = list(MAT_METAL = 4000, MAT_SILVER = 2000)
hitsound = 'sound/weapons/staff.ogg'
attack_verb = list("suppresed", "struck", "beaten", "thwacked", "pulped", "shocked")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors.
From 477853891d616fcd6adc050550e223f5476740ed Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Tue, 4 Feb 2020 23:54:10 -0700
Subject: [PATCH 10/38] Update twohanded.dm
---
code/game/objects/items/twohanded.dm | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index b142b9d6a7..364a114751 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1032,13 +1032,12 @@
sharpness = FALSE
force_unwielded = 5
force_wielded = 10
- throwforce = 1
+ throwforce = 15 //if you are a madman and finish someone off with this, power to you.
throw_speed = 1
block_chance = 50
materials = list(MAT_METAL = 4000, MAT_SILVER = 2000)
- hitsound = 'sound/weapons/staff.ogg'
- attack_verb = list("suppresed", "struck", "beaten", "thwacked", "pulped", "shocked")
- total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors.
+ attack_verb = list("struck", "beaten", "thwacked", "pulped")
+ total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on)
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
var/on = FALSE
var/can_block_projectiles = FALSE //can't block guns
@@ -1110,16 +1109,16 @@
else
turn_on(user, silent)
-/obj/item/twohanded/electrostaff/attack_self(mob/user)
- var/oldwielded = wielded
+/obj/item/twohanded/electrostaff/wield(mob/user)
. = ..()
- if(.)
- return
- if(oldwielded != wielded)
- if(wielded)
- turn_on(user)
- else
- turn_off(user)
+ if(wielded)
+ turn_on(user)
+ add_fingerprint(user)
+
+/obj/item/twohanded/electrostaff/unwield(mob/user)
+ . = ..()
+ if(!wielded)
+ turn_off(user)
add_fingerprint(user)
/obj/item/twohanded/electrostaff/update_icon()
From 77667dc1d2a72e6f2c5fdd6b01e892f40a2511ae Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Wed, 5 Feb 2020 04:51:16 -0700
Subject: [PATCH 11/38] Update twohanded.dm
---
code/game/objects/items/twohanded.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 364a114751..3a731415c8 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1028,7 +1028,7 @@
force = 10
damtype = BRUTE
w_class = WEIGHT_CLASS_HUGE
- slot_flags = ITEM_SLOT_BACK
+ slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
sharpness = FALSE
force_unwielded = 5
force_wielded = 10
From 643eeb94749d368c11b96ae14db1da24889dc324 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Wed, 5 Feb 2020 05:05:11 -0700
Subject: [PATCH 12/38] Update twohanded.dm
---
code/game/objects/items/twohanded.dm | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 3a731415c8..056abf0172 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1046,7 +1046,7 @@
var/lethal_stam_cost = 4
var/stun_cost = 333 //10000/333*25 = 750. stunbatons are at time of writing 10000/1000*49 = 490.
var/stun_status_effect = STATUS_EFFECT_ELECTROSTAFF //a small slowdown effect
- var/stun_stamdmg = 25
+ var/stun_stamdmg = 40
var/stun_status_duration = 25
var/stun_stam_cost = 3.5
From de5186026d676ef8f2823df96798d6ecdddfbe7e Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Thu, 6 Feb 2020 01:10:47 -0700
Subject: [PATCH 13/38] Update twohanded.dm
---
code/game/objects/items/twohanded.dm | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 056abf0172..bce9e47554 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1034,7 +1034,7 @@
force_wielded = 10
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
throw_speed = 1
- block_chance = 50
+ block_chance = 30
materials = list(MAT_METAL = 4000, MAT_SILVER = 2000)
attack_verb = list("struck", "beaten", "thwacked", "pulped")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on)
@@ -1066,6 +1066,8 @@
. = R.get_cell()
/obj/item/twohanded/electrostaff/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(!on)
+ return FALSE
if((attack_type == PROJECTILE_ATTACK) && !can_block_projectiles)
return FALSE
return ..()
From 8666a36b1e04c7e3b6642ed6416aa987d03e68e7 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Tue, 18 Feb 2020 02:24:31 -0700
Subject: [PATCH 14/38] fixes most things
---
code/game/objects/items/twohanded.dm | 3 ---
.../structures/crates_lockers/closets/secure/security.dm | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index bce9e47554..bcf74d2164 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1025,11 +1025,8 @@
righthand_file = 'icons/mob/inhands/weapons/estaff_righthand.dmi'
name = "riot suppression electrostaff"
desc = "A large quarterstaff, with massive silver electrodes mounted at the end."
- force = 10
- damtype = BRUTE
w_class = WEIGHT_CLASS_HUGE
slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_OCLOTHING
- sharpness = FALSE
force_unwielded = 5
force_wielded = 10
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index 7a087f8583..bec1c893ae 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -267,7 +267,7 @@
new /obj/item/clothing/suit/armor/bulletproof(src)
/obj/structure/closet/secure_closet/lethalshots
- name = "shotgun lethal rounds"
+ name = "lethal ammunition and riot staves"
req_access = list(ACCESS_ARMORY)
icon_state = "tac"
/obj/structure/closet/secure_closet/lethalshots/PopulateContents()
From 43db50616167e7a2c682d2136f46241d3b644b42 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Tue, 18 Feb 2020 02:26:05 -0700
Subject: [PATCH 15/38] stopa ccidently recycling this
---
code/game/objects/items/twohanded.dm | 1 -
1 file changed, 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index bcf74d2164..2529ebd9ce 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1032,7 +1032,6 @@
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
throw_speed = 1
block_chance = 30
- materials = list(MAT_METAL = 4000, MAT_SILVER = 2000)
attack_verb = list("struck", "beaten", "thwacked", "pulped")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on)
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
From 49cef552a0bb192c154537bdbf15860212f9d65a Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Tue, 18 Feb 2020 02:27:38 -0700
Subject: [PATCH 16/38] cleaner
---
code/game/objects/items/twohanded.dm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 2529ebd9ce..5a0dbf7981 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1031,7 +1031,9 @@
force_wielded = 10
throwforce = 15 //if you are a madman and finish someone off with this, power to you.
throw_speed = 1
+ item_flags = NO_MAT_REDEMPTION | SLOWS_WHILE_IN_HAND
block_chance = 30
+ materials = list(MAT_METAL = 4000, MAT_SILVER = 2000)
attack_verb = list("struck", "beaten", "thwacked", "pulped")
total_mass = 5 //yeah this is a heavy thing, beating people with it while it's off is not going to do you any favors. (to curb stun-kill rampaging without it being on)
var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/high
From 8610c7f6643e6868c7c4cc10dd415978ce6e083f Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Wed, 19 Feb 2020 19:10:19 -0700
Subject: [PATCH 17/38] better inhands
---
code/game/objects/items/twohanded.dm | 2 +-
icons/mob/inhands/weapons/estaff_lefthand.dmi | Bin 9301 -> 9294 bytes
.../mob/inhands/weapons/estaff_righthand.dmi | Bin 9435 -> 9428 bytes
3 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/code/game/objects/items/twohanded.dm b/code/game/objects/items/twohanded.dm
index 5a0dbf7981..788a72f4b6 100644
--- a/code/game/objects/items/twohanded.dm
+++ b/code/game/objects/items/twohanded.dm
@@ -1123,7 +1123,7 @@
/obj/item/twohanded/electrostaff/update_icon()
. = ..()
- var/final = on? "electrostaff_1" : "electrostaff_3"
+ var/final = wielded? (on? "electrostaff_1" : "electrostaff_3") : "electrostaff"
icon_state = final
item_state = final
set_light(7, on? 1 : 0, LIGHT_COLOR_CYAN)
diff --git a/icons/mob/inhands/weapons/estaff_lefthand.dmi b/icons/mob/inhands/weapons/estaff_lefthand.dmi
index 8b9ef642a40d3e1506089c8864f9ecac4327df53..47b8dc112fb27ec8ef4731d4c1d47dc4af3e7465 100644
GIT binary patch
delta 187
zcmV;s07U=QNX|%*B!8xQR9JLGWpiV4X>fFDZ*Bkpc$}?}y$XXc6ou#9r#R?Z#J`SN
zN~AdGD@bT=Y9OtUgi7DOLzfP^6o)e$`1m-S9GC9ek5EHTFAmWyPe`;yNn&*-&5&qn
z5;ME|oW3O{ofr}sd%mTx#H6jwNEjC)Bw7+S=m$qgRNL@WZZP953Bz8$AyF0Q(@%Ch
p)j^*6f6waJ8#a??n+{sj?46mT8x_>h(+9Ulc|ZMuO>eQfFDZ*Bkpc$}?}Jqv>{7=-8KR~)()@vCE&
zqSy>NlO1tq%~WIWt~8C^tZ$SnrJadc5XLlT&X9
w6xs3cqYX~66Q}&2vsiMP^ytXMoz_%aXQpU}22C&d2Sc8FOvmCb0kPA2BjwdxB>(^b
diff --git a/icons/mob/inhands/weapons/estaff_righthand.dmi b/icons/mob/inhands/weapons/estaff_righthand.dmi
index ea20dd22463046b6890d9726069a13137c20489d..d6096c57c7afac7c9fa8ac05540f41ffdc3a6397 100644
GIT binary patch
delta 187
zcmV;s07U=WNz_S@B!8!RR9JLGWpiV4X>fFDZ*Bkpc$}?}y9$Fq6h!O2UomJK#8=8~
zf)Xs^FUXR;x(g=4?j@4HPmv~tHo;Yte`pJ%`
pILK4}?^!+1mhBMy*xbT7J0JfO$^kb+a!75T$%s?
delta 194
zcmV;z06qWIN!v+~B!8}YR9JLGWpiV4X>fFDZ*Bkpc$}?}Jqv>{7=-8KR~)()@vCE&
zqSy>NlSD|Vp{{Yi#d%vTde%YbaB+b}fN&o-=
From c3f489dd48e11e2c1be92e5870ef8735b30737e3 Mon Sep 17 00:00:00 2001
From: kevinz000 <2003111+kevinz000@users.noreply.github.com>
Date: Wed, 19 Feb 2020 19:33:16 -0700
Subject: [PATCH 18/38] back/suit icons
---
icons/mob/back.dmi | Bin 100372 -> 100520 bytes
icons/mob/suit.dmi | Bin 414191 -> 414361 bytes
2 files changed, 0 insertions(+), 0 deletions(-)
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 7a2882790336d8b3a09057cf678e82aad792afbf..1a2c0e189a8e2162448b7e8dac4f682dc8db4a22 100644
GIT binary patch
delta 16492
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