mirror of
https://github.com/Aurorastation/Aurora-Old.git
synced 2026-08-25 05:36:19 +01:00
sword arms, forcegloves
changeling sword arms + riot shield growth abilities. as far as i can tell, bug free. forcegloves: see thread on forum for details. i personally think it's a great idea to make them standard issue for sec or at least put them in the armoury. they amp melee damage (varedit amplification if you want ingame shenanigans with them) and also interact with harm-grab-disarm.
This commit is contained in:
@@ -37,7 +37,7 @@
|
||||
visible_message("\red <B>[src] has been touched with the stun gloves by [M]!</B>")
|
||||
return
|
||||
|
||||
if(istype(M.gloves , /obj/item/clothing/gloves/boxing/hologlove))
|
||||
else if(istype(M.gloves , /obj/item/clothing/gloves/boxing/hologlove))
|
||||
|
||||
var/damage = rand(0, 9)
|
||||
if(!damage)
|
||||
@@ -57,7 +57,6 @@
|
||||
if(damage >= 9)
|
||||
visible_message("\red <B>[M] has weakened [src]!</B>")
|
||||
apply_effect(4, WEAKEN, armor_block)
|
||||
|
||||
return
|
||||
else
|
||||
if(istype(M,/mob/living/carbon))
|
||||
@@ -104,9 +103,15 @@
|
||||
M.put_in_active_hand(G)
|
||||
grabbed_by += G
|
||||
G.synch()
|
||||
|
||||
LAssailant = M
|
||||
|
||||
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
if(M.gloves && istype(M.gloves,/obj/item/clothing/gloves/force))
|
||||
G.state = GRAB_AGGRESSIVE
|
||||
G.icon_state = "grabbed1"
|
||||
visible_message("<span class='warning'>[M] gets a strong grip on [src]!</span>")
|
||||
return 1
|
||||
visible_message("<span class='warning'>[M] has grabbed [src] passively!</span>")
|
||||
return 1
|
||||
|
||||
@@ -158,8 +163,9 @@
|
||||
var/armor_block = run_armor_check(affecting, "melee")
|
||||
|
||||
if(HULK in M.mutations) damage += 5
|
||||
|
||||
|
||||
if(M.gloves && istype(M.gloves,/obj/item/clothing/gloves/force))
|
||||
var/obj/item/clothing/gloves/force/X = M.gloves
|
||||
damage *= X.amplification
|
||||
playsound(loc, attack.attack_sound, 25, 1, -1)
|
||||
|
||||
visible_message("\red <B>[M] [pick(attack.attack_verb)]ed [src]!</B>")
|
||||
@@ -204,14 +210,37 @@
|
||||
|
||||
var/randn = rand(1, 100)
|
||||
if (randn <= 25)
|
||||
apply_effect(3, WEAKEN, run_armor_check(affecting, "melee"))
|
||||
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
visible_message("\red <B>[M] has pushed [src]!</B>")
|
||||
return
|
||||
if(M.gloves && istype(M.gloves,/obj/item/clothing/gloves/force))
|
||||
apply_effect(6, WEAKEN, run_armor_check(affecting, "melee"))
|
||||
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
visible_message("\red <B>[M] hurls [src] to the floor!</B>")
|
||||
step_away(src,M,15)
|
||||
sleep(3)
|
||||
step_away(src,M,15)
|
||||
return
|
||||
|
||||
else
|
||||
apply_effect(3, WEAKEN, run_armor_check(affecting, "melee"))
|
||||
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
visible_message("\red <B>[M] has pushed [src]!</B>")
|
||||
return
|
||||
|
||||
var/talked = 0 // BubbleWrap
|
||||
|
||||
if(randn <= 60)
|
||||
if(M.gloves && istype(M.gloves,/obj/item/clothing/gloves/force))
|
||||
playsound(loc, 'sound/weapons/thudswoosh.ogg', 50, 1, -1)
|
||||
visible_message("\red <B>[M] shoves, sending [src] flying!</B>")
|
||||
step_away(src,M,15)
|
||||
sleep(1)
|
||||
step_away(src,M,15)
|
||||
sleep(1)
|
||||
step_away(src,M,15)
|
||||
sleep(1)
|
||||
step_away(src,M,15)
|
||||
sleep(1)
|
||||
apply_effect(1, WEAKEN, run_armor_check(affecting, "melee"))
|
||||
return
|
||||
//BubbleWrap: Disarming breaks a pull
|
||||
if(pulling)
|
||||
visible_message("\red <b>[M] has broken [src]'s grip on [pulling]!</B>")
|
||||
|
||||
@@ -193,6 +193,17 @@ emp_act
|
||||
visible_message("\red <B>[user] misses [src] with \the [I]!")
|
||||
return 0
|
||||
|
||||
//hulk and forceglove stuff
|
||||
var/power = I.force
|
||||
if(HULK in user.mutations)
|
||||
power *= 2
|
||||
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/X = user
|
||||
if(X.gloves && istype(X.gloves,/obj/item/clothing/gloves/force))
|
||||
var/obj/item/clothing/gloves/force/G = X.gloves
|
||||
power *= G.amplification
|
||||
|
||||
var/datum/organ/external/affecting = get_organ(target_zone)
|
||||
if (!affecting)
|
||||
return 0
|
||||
@@ -201,7 +212,7 @@ emp_act
|
||||
return 0
|
||||
var/hit_area = affecting.display_name
|
||||
|
||||
if((user != src) && check_shields(I.force, "the [I.name]"))
|
||||
if((user != src) && check_shields(power, "the [I.name]"))
|
||||
return 0
|
||||
|
||||
if(istype(I,/obj/item/weapon/card/emag))
|
||||
@@ -230,13 +241,13 @@ emp_act
|
||||
weapon_edge = 0
|
||||
|
||||
if(armor >= 2) return 0
|
||||
if(!I.force) return 0
|
||||
if(!power) return 0
|
||||
// var/Iforce = I.force //to avoid runtimes on the forcesay checks at the bottom. Some items might delete themselves if you drop them. (stunning yourself, ninja swords)
|
||||
|
||||
apply_damage(I.force, I.damtype, affecting, armor, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I)
|
||||
apply_damage(power, I.damtype, affecting, armor, sharp=weapon_sharp, edge=weapon_edge, used_weapon=I)
|
||||
|
||||
var/bloody = 0
|
||||
if(((I.damtype == BRUTE) || (I.damtype == HALLOSS)) && prob(25 + (I.force * 2)))
|
||||
if(((I.damtype == BRUTE) || (I.damtype == HALLOSS)) && prob(25 + (power * 2)))
|
||||
I.add_blood(src) //Make the weapon bloody, not the person.
|
||||
// if(user.hand) user.update_inv_l_hand() //updates the attacker's overlay for the (now bloodied) weapon
|
||||
// else user.update_inv_r_hand() //removed because weapons don't have on-mob blood overlays
|
||||
@@ -253,7 +264,7 @@ emp_act
|
||||
|
||||
switch(hit_area)
|
||||
if("head")//Harder to score a stun but if you do it lasts a bit longer
|
||||
if(prob(I.force))
|
||||
if(prob(power))
|
||||
apply_effect(20, PARALYZE, armor)
|
||||
visible_message("\red <B>[src] has been knocked unconscious!</B>")
|
||||
if(src != user && I.damtype == BRUTE)
|
||||
@@ -271,7 +282,7 @@ emp_act
|
||||
update_inv_glasses(0)
|
||||
|
||||
if("chest")//Easier to score a stun but lasts less time
|
||||
if(prob((I.force + 10)))
|
||||
if(prob((power + 10)))
|
||||
apply_effect(6, WEAKEN, armor)
|
||||
visible_message("\red <B>[src] has been knocked down!</B>")
|
||||
|
||||
@@ -283,7 +294,7 @@ emp_act
|
||||
|
||||
//Melee weapon embedded object code.
|
||||
if (I.damtype == BRUTE && !I.is_robot_module())
|
||||
var/damage = I.force
|
||||
var/damage = power
|
||||
if (armor)
|
||||
damage /= armor+1
|
||||
|
||||
|
||||
Reference in New Issue
Block a user