mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
Flash except it's incredibly sus (featuring me fucking up conflict resolution) (#33235)
* justfuckmyshitup * justfuckmyshitup2
This commit is contained in:
42
code/modules/mob/living/simple_animal/amogusflash.dm
Normal file
42
code/modules/mob/living/simple_animal/amogusflash.dm
Normal file
@@ -0,0 +1,42 @@
|
||||
/mob/living/simple_animal/amogusflash
|
||||
name = "flash"
|
||||
desc = "Recent advances in Nanotrasen robotics technology have allowed command's favourite toy to walk among us."
|
||||
icon_state = "amogusflash"
|
||||
health = 30
|
||||
maxHealth = 30
|
||||
min_oxy = 0
|
||||
max_oxy = 0
|
||||
min_tox = 0
|
||||
max_tox = 0
|
||||
min_co2 = 0
|
||||
max_co2 = 0
|
||||
min_n2 = 0
|
||||
max_n2 = 0
|
||||
minbodytemp = 0
|
||||
size = SIZE_TINY
|
||||
speak_emote = list("chimes", "states")
|
||||
pass_flags = PASSTABLE | PASSMOB
|
||||
|
||||
/mob/living/simple_animal/amogusflash/New()
|
||||
..()
|
||||
add_spell(new /spell/targeted/amogus_piercer)
|
||||
add_spell(new /spell/targeted/amogus_flasher)
|
||||
|
||||
/mob/living/simple_animal/amogusflash/can_ventcrawl()
|
||||
return TRUE
|
||||
|
||||
/mob/living/simple_animal/amogusflash/verb/ventcrawl()
|
||||
set name = "Crawl through Vent"
|
||||
set desc = "Enter an air vent and crawl through the pipe system."
|
||||
set category = "Object"
|
||||
var/pipe = start_ventcrawl()
|
||||
if(pipe)
|
||||
handle_ventcrawl(pipe)
|
||||
|
||||
|
||||
/mob/living/simple_animal/amogusflash/death()
|
||||
visible_message("<span class = 'warning'>\The [src] breaks apart.</span>")
|
||||
spark(src)
|
||||
new /obj/effect/decal/cleanable/blood/oil(src.loc)
|
||||
qdel(src)
|
||||
..(TRUE)
|
||||
70
code/modules/spells/amogus_spells.dm
Normal file
70
code/modules/spells/amogus_spells.dm
Normal file
@@ -0,0 +1,70 @@
|
||||
/spell/targeted/amogus_piercer
|
||||
name = "Piercer"
|
||||
desc = "Overload your flash bulb to blind a target creature."
|
||||
hud_state = "amogusflash_piercer"
|
||||
charge_max = 300 SECONDS
|
||||
range = 3
|
||||
user_type = USER_TYPE_NOUSER
|
||||
spell_flags = WAIT_FOR_CLICK
|
||||
|
||||
/spell/targeted/amogus_piercer/cast(list/targets, mob/user = usr)
|
||||
..()
|
||||
for(var/mob/living/carbon/target in targets)
|
||||
|
||||
playsound(usr, 'sound/weapons/flash.ogg', 100, 1)
|
||||
user.visible_message("<span class='notice'>[usr] emits a blinding beam of light!</span>")
|
||||
|
||||
if(target.blinded)
|
||||
to_chat(usr, "<span class='warning'>You fail to blind [target]!</span>")
|
||||
return 0
|
||||
else
|
||||
target.Knockdown(15)
|
||||
target.Stun(15)
|
||||
target.flash_eyes(visual = 1)
|
||||
to_chat(usr, "<span class='warning'>You blind [target]!</span>")
|
||||
|
||||
for(var/mob/living/silicon/robot/target in targets)
|
||||
|
||||
if(target.blinded)
|
||||
to_chat(usr, "<span class='warning'>You fail to overload [target]'s sensors!</span>")
|
||||
return 0
|
||||
else
|
||||
target.Knockdown(15)
|
||||
target.Stun(15)
|
||||
target.flash_eyes(affect_silicon = 1)
|
||||
to_chat(usr, "<span class='warning'>You overload [target]'s sensors!</span>")
|
||||
|
||||
/spell/targeted/amogus_flasher
|
||||
name = "Flasher"
|
||||
desc = "Blind a vulnerable target creature."
|
||||
hud_state = "amogusflash_flasher"
|
||||
range = 1
|
||||
charge_max = 30 SECONDS
|
||||
user_type = USER_TYPE_NOUSER
|
||||
spell_flags = WAIT_FOR_CLICK
|
||||
|
||||
/spell/targeted/amogus_flasher/cast(list/targets, mob/user = usr)
|
||||
..()
|
||||
for(var/mob/living/carbon/target in targets)
|
||||
|
||||
playsound(usr, 'sound/weapons/flash.ogg', 100, 1)
|
||||
|
||||
if(target.eyecheck() > 0 || target.blinded)
|
||||
to_chat(usr, "<span class='warning'>You fail to blind [target]!</span>")
|
||||
return 0
|
||||
else
|
||||
target.Knockdown(10)
|
||||
target.Stun(10)
|
||||
target.flash_eyes(visual = 1)
|
||||
to_chat(usr, "<span class='warning'>You blind [target]!</span>")
|
||||
|
||||
for(var/mob/living/silicon/robot/target in targets)
|
||||
|
||||
if(target && (HAS_MODULE_QUIRK(target, MODULE_IS_FLASHPROOF)) || target.blinded)
|
||||
to_chat(usr, "<span class='warning'>You fail to overload [target]'s sensors!</span>")
|
||||
return 0
|
||||
else
|
||||
target.Knockdown(10)
|
||||
target.Stun(10)
|
||||
target.flash_eyes(affect_silicon = 1)
|
||||
to_chat(usr, "<span class='warning'>You overload [target]'s sensors!</span>")
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 584 KiB After Width: | Height: | Size: 582 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 140 KiB After Width: | Height: | Size: 141 KiB |
@@ -2018,6 +2018,7 @@
|
||||
#include "code\modules\mob\living\silicon\robot\robot_subtypes\NT.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_subtypes\starman.dm"
|
||||
#include "code\modules\mob\living\silicon\robot\robot_subtypes\syndicate.dm"
|
||||
#include "code\modules\mob\living\simple_animal\amogusflash.dm"
|
||||
#include "code\modules\mob\living\simple_animal\borer.dm"
|
||||
#include "code\modules\mob\living\simple_animal\combat.dm"
|
||||
#include "code\modules\mob\living\simple_animal\constructs.dm"
|
||||
@@ -2622,6 +2623,7 @@
|
||||
#include "code\modules\spacepods\parts.dm"
|
||||
#include "code\modules\spacepods\pod_fabricator.dm"
|
||||
#include "code\modules\spacepods\spacepods.dm"
|
||||
#include "code\modules\spells\amogus_spells.dm"
|
||||
#include "code\modules\spells\construct_spells.dm"
|
||||
#include "code\modules\spells\helpers.dm"
|
||||
#include "code\modules\spells\spell_code.dm"
|
||||
|
||||
Reference in New Issue
Block a user