mob
var
Attacking=FALSE;//TRUE; when they are doing a combo
AttackSequence=0;//Which attack they are on
WaitPeriod=0;//How long they need to wait before doing anything else
verb
Combo() {
if(src.Attacking==FALSE||src.AttackSequence>0) {//if they aint thuggin already
src.Attacking=TRUE;//they ready to f**k sum1 up
var/target = get_bounds();//find a h** to s**t on
if(src.AttackSequence==0) {//beginner's luck b***h
src.Combo1(target);//now f**k them up
return;//run like a thirsty h**
}
if(src.AttackSequence==1) {//f**k the sequels
src.Combo2(target);//beat the s**t out of sequels
return;//run like a thirsty h**
}
if(src.AttackSequence==2) {//f****n' trilogies
src.Combo3(target);//get that s**t outta here
return;//run like a thirsty h**
}
}
}
proc
ComboWait(var/delay) {
var/AS = src.AttackSequence;//attack sequence be old as s**t
sleep(delay);//sleep muthaf**ka do you USE it?
if(AS==src.AttackSequence) {//if they be thirsty h**s
src.AttackSequence=0;//f**k her right in the p***y
src.Attacking=FALSE;//right in their f**king face m8
}
}
Combo1(mob/target) {
if(target==null) {//you playin bro?
src.Attacking=FALSE;//what the f**k do you take me for, a b***h?
return;//f**k you too
}
else {//ready to f**k this b***h up?
world << "[target]1";//kickin **s and take names
//damage that h**
src.AttackSequence++;//press z to win
spawn(1);//drop it like it's hot
src.ComboWait(20);//I'm Chris Hansen, have a seat over there for a second.
return;//your master called and he said f**k you
}
}
And thus the skeletal code form of my attacking system was built!