Projectile Dismemberment and Wizard spellblade (#19783)

* Spellblade

* Plasma cutters and onback sprites

* Cleans up dismemberment projectile code

* Runtime fix
This commit is contained in:
KorPhaeron
2016-08-11 15:43:29 +12:00
committed by oranges
parent 2a71f7e3b2
commit 9ee67f942a
14 changed files with 65 additions and 5 deletions
@@ -27,6 +27,9 @@
/obj/item/ammo_casing/magic/chaos
projectile_type = /obj/item/projectile/magic
/obj/item/ammo_casing/magic/spellblade
projectile_type = /obj/item/projectile/magic/spellblade
/obj/item/ammo_casing/magic/chaos/newshot()
projectile_type = pick(typesof(/obj/item/projectile/magic))
..()
@@ -59,3 +59,22 @@
item_state = "honker"
max_charges = 4
recharge_rate = 8
/obj/item/weapon/gun/magic/staff/spellblade
name = "spellblade"
desc = "A deadly combination of laziness and boodlust, this blade allows the user to dismember their enemies without all the hard work of actually swinging the sword."
fire_sound = "sound/magic/Fireball.ogg"
ammo_type = /obj/item/ammo_casing/magic/spellblade
icon_state = "spellblade"
item_state = "spellblade"
hitsound = 'sound/weapons/rapierhit.ogg'
force = 20
armour_penetration = 75
block_chance = 50
sharpness = IS_SHARP
max_charges = 4
/obj/item/weapon/gun/magic/staff/spellblade/hit_reaction(mob/living/carbon/human/owner, attack_text, final_block_chance, damage, attack_type)
if(attack_type == PROJECTILE_ATTACK)
final_block_chance = 0
return ..()
+3 -2
View File
@@ -49,6 +49,7 @@
var/stamina = 0
var/jitter = 0
var/forcedodge = 0 //to pass through everything
var/dismemberment = 0 //The higher the number, the greater the bonus to dismembering. 0 will not dismember at all.
/obj/item/projectile/New()
permutated = list()
@@ -146,7 +147,7 @@
next_run = world.time
sleep(1)
continue
if((!( current ) || loc == current))
current = locate(Clamp(x+xo,1,world.maxx),Clamp(y+yo,1,world.maxy),z)
@@ -199,7 +200,7 @@
Range()
if (delay > 0)
sleep(delay)
else //old projectile system
set waitfor = 0
while(loc)
@@ -349,3 +349,11 @@
var/mob/living/simple_animal/hostile/mimic/copy/C = change
C.ChangeOwner(firer)
/obj/item/projectile/magic/spellblade
name = "blade energy"
icon_state = "lavastaff"
damage = 15
damage_type = BURN
flag = "magic"
dismemberment = 50
nodamage = 0
@@ -223,6 +223,7 @@
damage_type = BRUTE
damage = 5
range = 3.5 //works as 4, but doubles to 7
dismemberment = 20
/obj/item/projectile/plasma/New()
var/turf/proj_turf = get_turf(src)