//Misc Indexs for Weapon Flags const int WFLAGS = 12; //*weapon->Misc[WFLAGS] //Flag bits 17 bits available const int WFLAG_ = 00000000000000000b; const int WFLAG_SCRIPTED = 00000000000000001b; const int WFLAG_FORCALIVE = 00000000000000010b; const int WFLAG_FORCEDEAD = 00000000000000100b; const int WFLAG_MOVEOFFSCREEN = 00000000000001000b; const int WFLAG_ISOFFSCREEN = 00000000000001000b; const int WFLAG_ = 00000000000010000b; const int WFLAG_ = 00000000000100000b; const int WFLAG_ = 00000000001000000b; const int WFLAG_ = 00000000010000000b; const int WFLAG_ = 00000000100000000b; const int WFLAG_ = 00000001000000000b; const int WFLAG_ = 00000010000000000b; const int WFLAG_ = 00000100000000000b; const int WFLAG_USR1 = 00001000000000000b; const int WFLAG_USR2 = 00010000000000000b; const int WFLAG_USR3 = 00100000000000000b; const int WFLAG_USR4 = 01000000000000000b; const int WFLAG_USR5 = 10000000000000000b; bool WeaponIsOffscreen(lweapon l){ return return (e->Misc[WFLAGS]&WFLAG_ISOFFSCREEN) != 0; } bool WeaponIsOffscreen(lweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_ISOFFSCREEN; else l->Misc[WFLAGS] &= ~WFLAG_ISOFFSCREEN; } bool WeaponIsOffscreen(eweapon l){ return return (e->Misc[WFLAGS]&WFLAG_ISOFFSCREEN) != 0; } bool WeaponIsOffscreen(eweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_ISOFFSCREEN; else l->Misc[WFLAGS] &= ~WFLAG_ISOFFSCREEN; } bool WeaponCanLeaveScreen(lweapon l){ return return (e->Misc[WFLAGS]&WFLAG_MOVEOFFSCREEN) != 0; } bool WeaponCanLeaveScreen(lweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_MOVEOFFSCREEN; else l->Misc[WFLAGS] &= ~WFLAG_MOVEOFFSCREEN; } bool WeaponCanLeaveScreen(eweapon l){ return return (e->Misc[WFLAGS]&WFLAG_MOVEOFFSCREEN) != 0; } bool WeaponCanLeaveScreen(eweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_MOVEOFFSCREEN; else l->Misc[WFLAGS] &= ~WFLAG_MOVEOFFSCREEN; } bool WeaponDead(lweapon l){ return return (e->Misc[WFLAGS]&WFLAG_FORCEDEAD) != 0; } bool WeaponDead(lweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_FORCEDEAD; else l->Misc[WFLAGS] &= ~WFLAG_FORCEDEAD; } bool WeaponDead(eweapon l){ return return (e->Misc[WFLAGS]&WFLAG_FORCEDEAD) != 0; } bool WeaponDead(eweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_FORCEDEAD; else l->Misc[WFLAGS] &= ~WFLAG_FORCEDEAD; } bool WeaponScripted(lweapon l){ return return (e->Misc[WFLAGS]&WFLAG_SCRIPTED) != 0; } bool WeaponScripted(lweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_SCRIPTED; else l->Misc[WFLAGS] &= ~WFLAG_SCRIPTED; } bool WeaponScripted(eweapon l){ return return (e->Misc[WFLAGS]&WFLAG_SCRIPTED) != 0; } bool WeaponScripted(eweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_SCRIPTED; else l->Misc[WFLAGS] &= ~WFLAG_SCRIPTED; } bool WeaponAlive(lweapon l){ return return (e->Misc[WFLAGS]&WFLAG_FORCALIVE) != 0; } bool WeaponAlive(lweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_FORCALIVE; else l->Misc[WFLAGS] &= ~WFLAG_FORCALIVE; } bool WeaponAlive(eweapon l){ return return (e->Misc[WFLAGS]&WFLAG_FORCALIVE) != 0; } bool WeaponAlive(eweapon l, bool state){ if (state) l->Misc[WFLAGS] |= WFLAG_FORCALIVE; else l->Misc[WFLAGS] &= ~WFLAG_FORCALIVE; } void SetWeaponFlag(lweapon l, int flag, bool state){ if (state) l->Misc[WFLAGS] |= flag; else l->Misc[WFLAGS] &= ~flag; } bool GetWeaponFlag(lweapon l, int flag){ return (l->Misc[WFLAGS]&flag) != 0; } void SetWeaponFlag(eweapon e, int flag, bool state){ if (state) e->Misc[WFLAGS] |= flag; else e->Misc[WFLAGS] &= ~flag; } bool GetWeaponFlag(eweapon e, int flag){ return (e->Misc[WFLAGS]&flag) != 0; }