STRING md_wp1 = "sword1.mdl";
define _eWp1, skill70;
ENTITY* e1;
STRING* sAni1;
var nAniStep = 0;
var nAniMode = 0;
var nAniPer = 0;
var n1 = 0; // temp var
function wpf_valid1() {
e1 = NULL;
if (my._eWp1 == 0) { return(0); }
e1 = ptr_for_handle(my._eWp1);
if (e1 == NULL) {
return(0);
}
return(1);
}
function wpf_align1(_bScale) {
if (e1 == NULL) { return(0); }
if (_bScale) { vec_set(e1.scale_x, my.scale_x); }
vec_set(e1.x, my.x);
vec_set(e1.pan, my.pan);
return(1);
}
function wpf_new1(_s, _bAlign, _bScale) {
if (my._eWp1 != 0) { return(0); }
if (_s == 0) { return(0); }
e1 = ent_create(_s, my.x, NULL);
if (e1 == NULL) { return(0); }
my._eWp1 = handle(e1);
e1.passable = ON;
if (_bAlign) {
wpf_align1(_bScale);
}
return(1);
}
function actorf_ani1(_s, _nStep, &_nPer, _mode) {
_nPer[0] += _nStep * time_step;
//_nPer[0] %= 100;
ent_animate(me, _s, _nStep, _nPer[0], _mode);
if (wpf_valid1() == 0) { return(1); }
wpf_align1(0);
ent_animate(e1, _s, _nStep, _nPer[0], _mode);
return(2);
}
function actorf_ani2() {
n1 = actorf_ani1(sAni1, nAniStep, nAniPer, nAniMode);
return(n1);
}
action aPlayer {
wpf_new1(md_wp1, 1, 1);
while(me != NULL) {
// set nAni sAni, etc.
actorf_ani2();
//dump globals back to entity skills
wait(1);
}
}