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