More funshit

This commit is contained in:
Artur
2021-01-20 18:23:28 +02:00
parent 3737c52df8
commit 16e0b85b44
13 changed files with 73 additions and 54 deletions
@@ -441,6 +441,30 @@
qdel(revenant)
..()
/proc/RevenantThrow(over, mob/user, obj/item/throwable)
var/mob/living/simple_animal/revenant/spooker = user
if(!istype(throwable))
return
if(!throwable.anchored && !spooker.telekinesis_cooldown && spooker.castcheck(-5))
spooker.change_essence_amount(-5, FALSE, "telekinesis")
spooker.stun(20)
spooker.reveal(50)
spooker.telekinesis_cooldown = TRUE
throwable.float(TRUE)
sleep(10)
throwable.DoRevenantThrowEffects(over)
throwable.throw_at(over, 10, 2)
ADD_TRAIT(throwable, TRAIT_SPOOKY_THROW, "revenant")
throwable.float(FALSE, TRUE)
log_combat(throwable, over, "spooky telekinesised at", throwable)
var/obj/effect/temp_visual/telekinesis/T = new(get_turf(throwable))
T.color = "#8715b4"
addtimer(CALLBACK(spooker, /mob/living/simple_animal/revenant.proc/telekinesis_cooldown_end), 50)
//Use this for effects you want to happen when a revenant throws itself, check the TRAIT_SPOOKY_THROW if you want to know if its still being thrown
/obj/item/proc/DoRevenantThrowEffects(atom/target)
return TRUE
//objectives
/datum/objective/revenant
var/targetAmount = 100
+3
View File
@@ -30,6 +30,9 @@
attack(user,user)
return FIRELOSS
/obj/item/assembly/flash/DoRevenantThrowEffects(atom/target)
AOE_flash()
/obj/item/assembly/flash/update_icon(flash = FALSE)
cut_overlays()
attached_overlays = list()
+3 -6
View File
@@ -193,16 +193,13 @@
user.visible_message(ignition_message)
add_fingerprint(user)
fire_act(I.get_temperature())
//I would have it become a paper plane before the throw, but that would risk runtimes
/obj/item/paper/DoRevenantThrowEffects(atom/target)
sleep(5)
sleep(10)
if(HAS_TRAIT(src, TRAIT_SPOOKY_THROW))
sleep(5)
DoRevenantThrowEffects(atom/target)
return
var/obj/item/paperplane/plane = new(get_turf(src))
new /obj/item/paperplane(get_turf(src))
qdel(src)
plane.safe_throw_at(over, 10, 2)
/obj/item/paper/attackby(obj/item/P, mob/living/user, params)
if(burn_paper_product_attackby_check(P, user))
+6 -6
View File
@@ -626,10 +626,10 @@
if(user && !user.has_gravity())
. = recoil*5
/obj/item/gun/DoRevenantThrowEffects(atom/target)
while(HAS_TRAIT(src, TRAIT_SPOOKY_THROW))
var/target
var/list/possible_targets = range(3,src)
target = pick(possible_targets)
if(target)
process_fire(null, target)
var/picked_target
var/list/possible_targets = range(3,src)
picked_target = pick(possible_targets)
if(picked_target)
process_fire(null, picked_target)