ID:2333051
 
Code:
obj/kiAttacks
icon = 'Beams.dmi'
density = 1
layer = 300

var
mob/owner
speed
dist
ki_damage
objName
shockwave

New(_loc,mob/_owner)
if(_owner)
src.dir = _owner.dir
if(!src.loc) src.loc = get_step(_owner,_owner.dir)
src.owner = _owner

Beams
var
list/trails = new
max_trails = 0

New()
..()
src.icon_state = "[src.icon_state]head"

Del()
for(var/A in src.trails) del A
..()

Move()
var/turf/old_loc = src.loc
. = ..()
if(!.) return
var/obj/O = new(old_loc)
O.name = ""
O.dir = src.dir
O.icon = icon(src.icon, "[initial(src.icon_state)]middle")
src.trails += O
if(src.max_trails && src.trails.len > src.max_trails)
var/a = src.trails[1]
src.trails -= a
del a

Kamehameha
icon_state = "kame_"
ki_damage = 20


Problem description:

So, I've looked at all the beam demos and most have this common issue. When the player fires a beam and doesn't register what's 1 tile in front of them at all. Another thing is the beam only gives off a trail and the front of the beam. So it is : Character {Beam Trial }{Head of the Beam} // So between the character and the beam trial I want the start of the beam (Ex: The head of the beam but backwards.)
I assume your beam only collides via movement, so placing the beam's origin directly in front of the player means that it didn't move there (and thus will not collide with anything there).

From the looks of things your easiest solution would be to create the beam at the player's location and use step() to move it forward, allowing it to collide point blank. You will need to account for that when creating your trails, though. You'll need to give it a little more logic to know when it should start creating trails (like not creating a trail in the first step, and then making the first trail create a special one (the flipped origin sprite you mentioned) before resuming normal behavior).
In response to Albro1
Thank you, I'll take that into account. Also do you have ideas for the second question as well?
In response to Selected
He answered both questions.
In response to Spunky_Girl
Oop, didn't see that. Must've read it wrong. Thanks both of you!