###Moonlight Marking Twig
Inspired by @DaGGerz and his Staff of Nightfall!
See it here: Staff of Nightfall [Hitscan weapon Idea]
Staff…"Projectile"
When Luna the Moon Goddess left Oryx, she left a piece of her to Oryx. Oryx, in turn, made this staff in the image of the one he missed the most.
Edit: Changed the projectile because when I was making the demo pictures, it looked like… something that might be offensive. Plus, this looks better, IMO.
####Stats:
- Tier: Untiered
- Damage: 50-70 damage/shot
- Duration: 0.4 second
- Range: 0-cursor
- Special properties: Shots pass through enemies, shots ignore obstacles, ignores enemy defence, 170% fire rate.
- Fame Bonus: 5%
- Feed Power: 350
####Drops From:
- Oryx, the Mad God 1
- Oryx, the Mad God 2
####More info
When equipped and used, this staff spawns the above projectile spinning in its place where your cursor is. Akin to Void Blade, but it spawns on your cursor, not character. If there’s an obstacle or wall in your line-of-sight, you can’t “beam” there.
Illustrations:
The staff was inspired by the hitscan concept, and the fact that staves hit high-defense enemies for almost nothing. This gives staff users besides wizards some options to deal some damage against high-defense bosses. Besides, the limit is your view, so this theoretically has the range of a wand so I felt the need to limit the damage to about that range.
Here’s the DPS graph. The white one is the MMT.
Originally, I wanted to turn this into a wand Idea, with something similar to Aureola of Fire Emblem.
Pew, pew, Holy Smiting! Holy Satelite Beam!
But we have enough wand UTs, and the staff really has trouble hitting high-def enemies.
Without further ado, please sink your teeth to the imbalance of this UT!
[details=Coding Attempt]
upon Starting Game:
…create public LineOfSight Line = new LineOfSight();
…Line.alpha=0;
on the Update() function:
…if(weapon==MMT){
…Line.alpha=0.5;
…Line.Update();
…if( Line.hitTouch(Wall) || Line.hitTouch(Obstacle) )){
…Line.setSprite=(“SightSprite2.png”);
…Shoot = false;
…}else{
…Line.setSprite(“SightSprite1.png”);
…Shoot = true;
…}
…}
on the Shoot() function that applies on click:
…if(weapon == MMT){
…if(Shoot){
…create playerBullet bullet1 = new playerBullet(“MMT”);
…bullet1.X=mouse.X;bullet1.y=mouse.Y;
…}
…}
on the new Class LineOfSight:
…sprite=""SightSprite1.png;
…Update(){
…this.x=(mouse.X+char.X)/2;
…this.y=(mouse.Y+char.Y)/2;
…int wide=mouse.X - char.X;
…int tall=mouse.Y - char.Y;
…this.length = root(widewide + talltall);
…if(tall!=0){
…this.rotation = atan(wide/tall)180/227;
…}else{
…if(width>0){this.rotation = 90;}
…else{this.rotation = 270;}
…}
…}
These are not coded in any language. Just trying to put it in code form. I don’t even know if this is possible in game .
}[/details]
Update Log
Edit 1 & 2: Misspelling. Again.
Edit 3: Shrunk the projectile size. It’s not a ninja star.
Edit 4: Lengthened the duration of projectile from 0.1 sec to 0.4 sec.
Edit 5: Added more description, as well as the shot number.
Edit 6: Added illustrations as well as the Obstacle Clause, to prevent shooting from behind walls.
Edit 7: Changed the damage and rate of fire, to make it more unique. DPS didn’t change.
Edit 8: Changed the illustration and added the coding attempt. I swear it works on the preview.
Edit 9: The Hide Details now works! Hell yeaa