From 23765d9ddde38720f88dd63560b245d156349a30 Mon Sep 17 00:00:00 2001 From: LetterJay Date: Mon, 23 Oct 2017 13:17:35 -0500 Subject: [PATCH] Update stunbaton.dm --- code/game/objects/items/stunbaton.dm | 205 --------------------------- 1 file changed, 205 deletions(-) diff --git a/code/game/objects/items/stunbaton.dm b/code/game/objects/items/stunbaton.dm index 64a208301c..92d00d9e2d 100644 --- a/code/game/objects/items/stunbaton.dm +++ b/code/game/objects/items/stunbaton.dm @@ -1,207 +1,3 @@ -<<<<<<< HEAD -/obj/item/melee/baton - name = "stunbaton" - desc = "A stun baton for incapacitating people with." - icon_state = "stunbaton" - item_state = "baton" - lefthand_file = 'icons/mob/inhands/equipment/security_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/security_righthand.dmi' - slot_flags = SLOT_BELT - force = 10 - throwforce = 7 - w_class = WEIGHT_CLASS_NORMAL - origin_tech = "combat=2" - attack_verb = list("beaten") - armor = list(melee = 0, bullet = 0, laser = 0, energy = 0, bomb = 50, bio = 0, rad = 0, fire = 80, acid = 80) - - var/stunforce = 140 - var/status = 0 - var/obj/item/stock_parts/cell/high/cell - var/hitcost = 1000 - var/throw_hit_chance = 35 - -/obj/item/melee/baton/get_cell() - return cell - -/obj/item/melee/baton/suicide_act(mob/user) - user.visible_message("[user] is putting the live [name] in [user.p_their()] mouth! It looks like [user.p_theyre()] trying to commit suicide!") - return (FIRELOSS) - -/obj/item/melee/baton/Initialize() - . = ..() - update_icon() - -/obj/item/melee/baton/throw_impact(atom/hit_atom) - ..() - //Only mob/living types have stun handling - if(status && prob(throw_hit_chance) && iscarbon(hit_atom)) - baton_stun(hit_atom) - -/obj/item/melee/baton/loaded/Initialize() //this one starts with a cell pre-installed. - cell = new(src) - update_icon() - . = ..() - -/obj/item/melee/baton/proc/deductcharge(chrgdeductamt) - if(cell) - //Note this value returned is significant, as it will determine - //if a stun is applied or not - . = cell.use(chrgdeductamt) - if(status && cell.charge < hitcost) - //we're below minimum, turn off - status = 0 - update_icon() - playsound(loc, "sparks", 75, 1, -1) - - -/obj/item/melee/baton/update_icon() - if(status) - icon_state = "[initial(name)]_active" - else if(!cell) - icon_state = "[initial(name)]_nocell" - else - icon_state = "[initial(name)]" - -/obj/item/melee/baton/examine(mob/user) - ..() - if(cell) - to_chat(user, "The baton is [round(cell.percent())]% charged.") - else - to_chat(user, "The baton does not have a power source installed.") - -/obj/item/melee/baton/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) - to_chat(user, "[src] already has a cell.") - else - if(C.maxcharge < hitcost) - to_chat(user, "[src] requires a higher capacity cell.") - return - if(!user.transferItemToLoc(W, src)) - return - cell = W - to_chat(user, "You install a cell in [src].") - update_icon() - - else if(istype(W, /obj/item/screwdriver)) - if(cell) - cell.update_icon() - cell.forceMove(get_turf(src)) - cell = null - to_chat(user, "You remove the cell from [src].") - status = 0 - update_icon() - else - return ..() - -/obj/item/melee/baton/attack_self(mob/user) - if(cell && cell.charge > hitcost) - status = !status - to_chat(user, "[src] is now [status ? "on" : "off"].") - playsound(loc, "sparks", 75, 1, -1) - else - status = 0 - if(!cell) - to_chat(user, "[src] does not have a power source!") - else - to_chat(user, "[src] is out of charge.") - update_icon() - add_fingerprint(user) - -/obj/item/melee/baton/attack(mob/M, mob/living/carbon/human/user) - if(status && user.disabilities & CLUMSY && prob(50)) - user.visible_message("[user] accidentally hits themself with [src]!", \ - "You accidentally hit yourself with [src]!") - user.Knockdown(stunforce*3) - deductcharge(hitcost) - return - - if(iscyborg(M)) - ..() - return - - - if(ishuman(M)) - var/mob/living/carbon/human/L = M - if(check_martial_counter(L, user)) - return - - if(user.a_intent != INTENT_HARM) - if(status) - if(baton_stun(M, user)) - user.do_attack_animation(M) - return - else - M.visible_message("[user] has prodded [M] with [src]. Luckily it was off.", \ - "[user] has prodded you with [src]. Luckily it was off") - else - if(status) - baton_stun(M, user) - ..() - - -/obj/item/melee/baton/proc/baton_stun(mob/living/L, mob/user) - if(ishuman(L)) - var/mob/living/carbon/human/H = L - if(H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK)) //No message; check_shields() handles that - playsound(L, 'sound/weapons/genhit.ogg', 50, 1) - return 0 - if(iscyborg(loc)) - var/mob/living/silicon/robot/R = loc - if(!R || !R.cell || !R.cell.use(hitcost)) - return 0 - else - if(!deductcharge(hitcost)) - return 0 - - L.Knockdown(stunforce) - L.apply_effect(STUTTER, stunforce) - if(user) - user.lastattacked = L - L.lastattacker = user - L.visible_message("[user] has stunned [L] with [src]!", \ - "[user] has stunned you with [src]!") - add_logs(user, L, "stunned") - - playsound(loc, 'sound/weapons/egloves.ogg', 50, 1, -1) - - if(ishuman(L)) - var/mob/living/carbon/human/H = L - H.forcesay(GLOB.hit_appends) - - - return 1 - -/obj/item/melee/baton/emp_act(severity) - deductcharge(1000 / severity) - ..() - -//Makeshift stun baton. Replacement for stun gloves. -/obj/item/melee/baton/cattleprod - name = "stunprod" - desc = "An improvised stun baton." - icon_state = "stunprod_nocell" - item_state = "prod" - lefthand_file = 'icons/mob/inhands/weapons/melee_lefthand.dmi' - righthand_file = 'icons/mob/inhands/weapons/melee_righthand.dmi' - w_class = WEIGHT_CLASS_BULKY - force = 3 - throwforce = 5 - stunforce = 100 - hitcost = 2000 - throw_hit_chance = 10 - slot_flags = SLOT_BACK - var/obj/item/device/assembly/igniter/sparkler = 0 - -/obj/item/melee/baton/cattleprod/Initialize() - . = ..() - sparkler = new (src) - -/obj/item/melee/baton/cattleprod/baton_stun() - if(sparkler.activate()) - ..() -======= /obj/item/melee/baton name = "stunbaton" desc = "A stun baton for incapacitating people with." @@ -404,4 +200,3 @@ /obj/item/melee/baton/cattleprod/baton_stun() if(sparkler.activate()) ..() ->>>>>>> 032c864... Removes mob.lastattacked and replaces lastattacker with a string (#31981)