mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 04:27:35 +01:00
Extra Plushies + Plushify Spell (#27384)
* Plushie PR TODO- Fix borgs becoming mind Add to smite list Add diona plush effect * Fixed Issues Added alien plush Added loadout Yeah * Apply suggestions from code review Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Signed-off-by: Drakeven <50409888+Drakeven@users.noreply.github.com> * WIP Will finish later * Fixed the various issues Should be working now! Changed the bread smite to a 'generic item' smite and then made it a specifcally breaded smite. * Minor typo fixing And stuff * WIP Conversion Converting all the attacks into more sleek attacks, will need to finish. * Fixes galore Yippie! * Russian revolver wasn't working now you can self-shoot again! Horay! * You can no longer eat spraycans IPC clowns everywhere devistated * Apply suggestions from code review Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Drakeven <50409888+Drakeven@users.noreply.github.com> * A tinsy bit of touching up :) --------- Signed-off-by: Drakeven <50409888+Drakeven@users.noreply.github.com> Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
This commit is contained in:
co-authored by
Contrabang
Luc
Burzah
parent
33eaf8ae42
commit
a5726efe0c
@@ -58,33 +58,33 @@
|
||||
desc = "The hunger..."
|
||||
icon_state = "alien_acid"
|
||||
|
||||
/obj/item/melee/touch_attack/alien/consume_resin/afterattack__legacy__attackchain(atom/target, mob/living/carbon/user, proximity)
|
||||
/obj/item/melee/touch_attack/alien/consume_resin/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(target == user)
|
||||
to_chat(user, "<span class='noticealien'>You stop trying to consume resin.</span>")
|
||||
..()
|
||||
return
|
||||
if(!proximity || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
if(!proximity_flag || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
return
|
||||
var/mob/living/carbon/C = user
|
||||
if(istype(target, /obj/structure/alien/weeds))
|
||||
qdel(target)
|
||||
if(istype(target, /obj/structure/alien/weeds/node))
|
||||
user.add_plasma(50)
|
||||
user.visible_message("<span class='alertalien'>[user] rips and tears into [target] with their teeth!</span>", "<span class='alertalien'>You viciously rip apart and consume [target]!</span>")
|
||||
C.add_plasma(50)
|
||||
C.visible_message("<span class='alertalien'>[C] rips and tears into [target] with their teeth!</span>", "<span class='alertalien'>You viciously rip apart and consume [target]!</span>")
|
||||
return
|
||||
if(!plasma_check(10, user))
|
||||
to_chat(user, "<span class='noticealien'>You don't have enough plasma to perform this action!</span>")
|
||||
if(!plasma_check(10, C))
|
||||
to_chat(C, "<span class='noticealien'>You don't have enough plasma to perform this action!</span>")
|
||||
return
|
||||
var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest, /obj/structure/bed/revival_nest)
|
||||
for(var/resin_type in resin_objects)
|
||||
if(!istype(target, resin_type))
|
||||
continue
|
||||
user.visible_message("<span class='alertalien'>[user] rips and tears into [target] with their teeth!</span>")
|
||||
if(!do_after(user, 3 SECONDS, target = target))
|
||||
C.visible_message("<span class='alertalien'>[C] rips and tears into [target] with their teeth!</span>")
|
||||
if(!do_after(C, 3 SECONDS, target = target))
|
||||
return
|
||||
to_chat(user, "<span class='alertalien'>You viciously rip apart and consume [target]!</span>")
|
||||
user.add_plasma(-10)
|
||||
to_chat(C, "<span class='alertalien'>You viciously rip apart and consume [target]!</span>")
|
||||
C.add_plasma(-10)
|
||||
qdel(target)
|
||||
..()
|
||||
|
||||
#undef RESIN_WALL
|
||||
#undef RESIN_NEST
|
||||
|
||||
@@ -11,26 +11,26 @@
|
||||
desc = "A fistfull of death."
|
||||
icon_state = "alien_acid"
|
||||
|
||||
/obj/item/melee/touch_attack/alien/corrosive_acid/afterattack__legacy__attackchain(atom/target, mob/living/carbon/user, proximity)
|
||||
/obj/item/melee/touch_attack/alien/corrosive_acid/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(target == user)
|
||||
to_chat(user, "<span class='noticealien'>You withdraw your readied acid.</span>")
|
||||
..()
|
||||
return
|
||||
if(!proximity || isalien(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) // Don't want xenos ditching out of cuffs
|
||||
if(!proximity_flag || isalien(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED)) // Don't want xenos ditching out of cuffs
|
||||
return
|
||||
if(!plasma_check(200, user))
|
||||
to_chat(user, "<span class='noticealien'>You don't have enough plasma to perform this action!</span>")
|
||||
var/mob/living/carbon/C = user
|
||||
if(!plasma_check(200, C))
|
||||
to_chat(C, "<span class='noticealien'>You don't have enough plasma to perform this action!</span>")
|
||||
return
|
||||
var/acid_damage_modifier = 100
|
||||
if(isliving(target))
|
||||
acid_damage_modifier = 50
|
||||
if(target.acid_act(2 * acid_damage_modifier, acid_damage_modifier))
|
||||
visible_message("<span class='alertalien'>[user] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!</span>")
|
||||
add_attack_logs(user, target, "Applied corrosive acid") // Want this logged
|
||||
user.add_plasma(-200)
|
||||
visible_message("<span class='alertalien'>[C] vomits globs of vile stuff all over [target]. It begins to sizzle and melt under the bubbling mess of acid!</span>")
|
||||
add_attack_logs(C, target, "Applied corrosive acid") // Want this logged
|
||||
C.add_plasma(-200)
|
||||
else
|
||||
to_chat(user, "<span class='noticealien'>You cannot dissolve this object.</span>")
|
||||
..()
|
||||
to_chat(C, "<span class='noticealien'>You cannot dissolve this object.</span>")
|
||||
|
||||
/datum/spell/touch/alien_spell/burning_touch
|
||||
name = "Blazing touch"
|
||||
@@ -45,31 +45,30 @@
|
||||
desc = "The air warps around your hand, somehow the heat doesn't hurt."
|
||||
icon_state = "alien_acid"
|
||||
|
||||
/obj/item/melee/touch_attack/alien/burning_touch/afterattack__legacy__attackchain(atom/target, mob/living/carbon/user, proximity)
|
||||
/obj/item/melee/touch_attack/alien/burning_touch/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(target == user)
|
||||
to_chat(user, "<span class='noticealien'>You cool down your boiled aid.</span>")
|
||||
..()
|
||||
return
|
||||
if(!proximity || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
if(!proximity_flag || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
return
|
||||
if(!plasma_check(100, user))
|
||||
to_chat(user, "<span class='noticealien'>You don't have enough plasma to perform this action!</span>")
|
||||
var/mob/living/carbon/C = user
|
||||
if(!plasma_check(100, C))
|
||||
to_chat(C, "<span class='noticealien'>You don't have enough plasma to perform this action!</span>")
|
||||
return
|
||||
if(isliving(target))
|
||||
var/mob/living/guy_to_burn = target
|
||||
add_attack_logs(user, target, "Applied blazing touch") // Want this logged
|
||||
add_attack_logs(C, target, "Applied blazing touch") // Want this logged
|
||||
guy_to_burn.adjustFireLoss(60)
|
||||
guy_to_burn.adjust_fire_stacks(3)
|
||||
guy_to_burn.IgniteMob()
|
||||
user.visible_message("<span class='alertalien'>[user] touches [target] and a fireball erupts on contact!</span>")
|
||||
user.add_plasma(-100)
|
||||
..()
|
||||
C.visible_message("<span class='alertalien'>[C] touches [target] and a fireball erupts on contact!</span>")
|
||||
C.add_plasma(-100)
|
||||
else
|
||||
var/static/list/resin_objects = list(/obj/structure/alien/resin, /obj/structure/alien/egg, /obj/structure/bed/nest, /obj/structure/bed/revival_nest)
|
||||
for(var/resin_type in resin_objects)
|
||||
if(!istype(target, resin_type))
|
||||
continue
|
||||
user.visible_message("<span class='alertalien'>[user] touches [target] and burns right through it!</span>")
|
||||
user.add_plasma(-100)
|
||||
C.visible_message("<span class='alertalien'>[C] touches [target] and burns right through it!</span>")
|
||||
C.add_plasma(-100)
|
||||
qdel(target)
|
||||
..()
|
||||
|
||||
@@ -24,14 +24,15 @@
|
||||
|
||||
/obj/item/melee/touch_attack/banana/apprentice
|
||||
|
||||
/obj/item/melee/touch_attack/banana/apprentice/afterattack__legacy__attackchain(atom/target, mob/living/carbon/user, proximity)
|
||||
/obj/item/melee/touch_attack/banana/apprentice/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(iswizard(target) && target != user)
|
||||
to_chat(user, "<span class='danger'>Seriously?! Honk THEM, not me!</span>")
|
||||
return
|
||||
..()
|
||||
|
||||
/obj/item/melee/touch_attack/banana/afterattack__legacy__attackchain(atom/target, mob/living/carbon/user, proximity)
|
||||
if(!proximity || target == user || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
/obj/item/melee/touch_attack/banana/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(!proximity_flag || target == user || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
return
|
||||
|
||||
var/datum/effect_system/smoke_spread/s = new
|
||||
@@ -41,7 +42,6 @@
|
||||
to_chat(user, "<font color='red' size='6'>HONK</font>")
|
||||
var/mob/living/carbon/human/H = target
|
||||
H.bananatouched()
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/proc/bananatouched()
|
||||
to_chat(src, "<font color='red' size='6'>HONK</font>")
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
icon_state = "fleshtostone"
|
||||
item_state = "fleshtostone"
|
||||
|
||||
/obj/item/melee/touch_attack/mime_malaise/afterattack__legacy__attackchain(atom/target, mob/living/carbon/user, proximity)
|
||||
if(!proximity || target == user || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
/obj/item/melee/touch_attack/mime_malaise/after_attack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(!proximity_flag || target == user || !ishuman(target) || !iscarbon(user) || HAS_TRAIT(user, TRAIT_HANDS_BLOCKED))
|
||||
return
|
||||
|
||||
var/datum/effect_system/smoke_spread/s = new
|
||||
@@ -29,7 +30,6 @@
|
||||
|
||||
var/mob/living/carbon/human/H = target
|
||||
H.mimetouched()
|
||||
..()
|
||||
|
||||
/mob/living/carbon/human/proc/mimetouched()
|
||||
Weaken(14 SECONDS)
|
||||
|
||||
@@ -71,3 +71,15 @@
|
||||
cooldown_min = 200 //100 deciseconds reduction per rank
|
||||
|
||||
action_icon_state = "statue"
|
||||
|
||||
/datum/spell/touch/plushify
|
||||
name = "Plushify"
|
||||
desc = "This spell charges your hand with the power to turn your victims into marketable plushies!"
|
||||
hand_path = /obj/item/melee/touch_attack/plushify
|
||||
|
||||
school = "transmutation"
|
||||
base_cooldown = 600
|
||||
clothes_req = TRUE
|
||||
cooldown_min = 200 //100 deciseconds reduction per rank
|
||||
|
||||
action_icon_state = "plush"
|
||||
|
||||
Reference in New Issue
Block a user