summon_weapon
A singular summoned object
How summon weapons work:
Reset() - makes it go back to its master. Target() - locks onto a target for a duration
The biggest challenge is synchronizing animations. Variables keep track of when things tick, but, animations are client-timed, and not server-timed
Animations: The weapon can only track its "intended" angle and dist "Current" pixel x/y are always calculated relative to a target from the current orbiting atom the physical effect is on There's 3 animations, MoveTo(location, angle, dist, rotation) Orbit(location) Rotate(degrees)
And an non-animation that just snaps it to a location, HardReset(location)
Vars | |
angle | current angle from victim - clockwise from 0. null if not attacking. |
---|---|
angle_vary | rand dist to rotate during reattack phase |
animation_lock | animation locked until |
animation_timerid | animation lock timer |
appearance | mutable_appearance to use, will skip making from icon/icon state if so |
atom | the actual effect |
attack_damage | attack damage |
attack_length | attack length in deciseconds - this is the attack animation speed in total |
attack_sound | attack sound |
attack_speed | attack delay in deciseconds - this is time spent between attacks |
attack_type | attack damtype |
attack_verb | attack verb |
dist | current distance from victim - pixels |
host | host |
icon | icon file |
icon_state | icon state |
name | name |
orbit_dist | orbit distance from victim - pixels |
orbit_dist_vary | orbit distance variation from victim |
reset_speed | reset animation duration |
reset_timerid | reset timerid |
rotation | current rotation - angles clockwise from north |
state | current state |
victim | currently locked attack target |
Procs | |
MoveTo | relative to defaults to current location |
Rotate | rotation defaults to facing towards locked atom |
Var Details
angle
current angle from victim - clockwise from 0. null if not attacking.
angle_vary
rand dist to rotate during reattack phase
animation_lock
animation locked until
animation_timerid
animation lock timer
appearance
mutable_appearance to use, will skip making from icon/icon state if so
atom
the actual effect
attack_damage
attack damage
attack_length
attack length in deciseconds - this is the attack animation speed in total
attack_sound
attack sound
attack_speed
attack delay in deciseconds - this is time spent between attacks
attack_type
attack damtype
attack_verb
attack verb
dist
current distance from victim - pixels
host
host
icon
icon file
icon_state
icon state
name
name
orbit_dist
orbit distance from victim - pixels
orbit_dist_vary
orbit distance variation from victim
reset_speed
reset animation duration
reset_timerid
reset timerid
rotation
current rotation - angles clockwise from north
state
current state
victim
currently locked attack target
Proc Details
MoveTo
relative to defaults to current location
Rotate
rotation defaults to facing towards locked atom