aiflag list

static const char* eplist_aiflag[] = {
"animating",
"attacking",
"autokill",
"blink",
"blocking",
"charging",
"dead",
"drop",
"falling",
"frozen",
"getting",
"idlemode",
"idling",
"inpain",
"invincible",
"jumpid",
"jumping",
"projectile",
"running",
"toexplode",
"turning",
"walking",
"walkmode",
};

Its all in the sourcecode, easy to find
Some of them dont do much, but some work fine.
 
duh, that was the obvious place to search, thanks.

But we need to know what each one does. For example, "Animating" is when the entity is finished the fall animation (took from a DC's post). but "falling" triggers when the entity is falling, on the air?

hum...so this kids is why MatMan and DC said to not use changeentitypropriety to change an animation to an attack, but performattack. Because there are several flags set in specific cases.
 
i tried them all to see what they do, not all of them work, you have to try yourself and maybe type it in the manual or something.
Yes you can and should change only attack animation to attack animation, not attack to run or idle, you have to use setidle.
 
I use aiflag when I cancel a jump into a freespecial, because without the aiflag you can cancel the freespecial into a jumpattack.
 
I have this list saved after digging the code a bit
Code:
"a",
"aggression",
"aiattack",
"aiflag",
"aimove",
"alpha",
"animal",
"animating",
"animation",
"animationid",
"animheight",
"animhits",
"animnum",
"animpos",
"animvalid",
"antigrab",
"antigravity",
"attack",
"attackid",
"attacking",
"attackthrottle",
"attackthrottletime",
"autokill",
"base",
"bbox",
"blink",
"blockback",
"blockodds",
"blockpain",
"boss",
"bounce",
"bound",
"candamage",
"chargerate",
"colourmap",
"colourtable",
"combostep",
"combotime",
"damage_on_landing",
"dead",
"defaultmodel",
"defaultname",
"defense",
"detect",
"direction",
"dot",
"dropframe",
"edelay",
"energycost",
"escapecount",
"escapehits",
"exists",
"falldie",
"flash",
"freezetime",
"frozen",
"gfxshadow",
"grabbing",
"grabforce",
"guardpoints",
"health",
"height",
"hitbyid",
"hmapl",
"hmapu",
"hostile",
"icon",
"iconposition",
"invincible",
"invinctime",
"jugglepoints",
"jumpheight",
"knockdowncount",
"komap",
"landframe",
"lifeposition",
"lifespancountdown",
"link",
"map",
"mapcount",
"mapdefault",
"maps",
"maptime",
"maxguardpoints",
"maxhealth",
"maxjugglepoints",
"maxmp",
"model",
"mp",
"mpdroprate",
"mprate",
"mpset",
"mpstable",
"mpstableval",
"name",
"nameposition",
"nextanim",
"nextthink",
"no_adjust_base",
"noaicontrol",
"nodieblink",
"nodrop",
"nograb",
"nolife",
"nopain",
"offense",
"opponent",
"owner",
"pain_time",
"parent",
"path",
"pathfindstep",
"playerindex",
"position",
"projectile",
"projectilehit",
"range",
"releasetime",
"running",
"rush_count",
"rush_tally",
"rush_time",
"score",
"scroll",
"seal",
"sealtime",
"setlayer",
"spawntype",
"speed",
"sprite",
"spritea",
"stalltime",
"stats",
"staydown",
"staydownatk",
"stealth",
"subentity",
"subject_to_gravity",
"subject_to_hole",
"subject_to_maxz",
"subject_to_minz",
"subject_to_obstacle",
"subject_to_platform",
"subject_to_screen",
"subject_to_wall",
"subtype",
"takeaction",
"think",
"thold",
"throwdamage",
"throwdist",
"throwframewait",
"throwheight",
"tosstime",
"tossv",
"trymove",
"type",
"velocity",
"vulnerable",
"weapent",
"weapon",
"x",
"xdir",
"z",
"zdir", 
-----------------------
static const char* eplist_aiflag[] = {
"animating",
"attacking",
"autokill",
"blink",
"blocking",
"charging",
"dead",
"drop",
"falling",
"frozen",
"getting",
"idlemode",
"idling",
"inpain",
"invincible",
"jumpid",
"jumping",
"projectile",
"running",
"toexplode",
"turning",
"walking",
"walkmode",
};
static const char* eplist_attack[] = {
"blast",
"blockflash",
"blocksound",
"coords",
"counterattack",
"direction",
"dol",
"dot",
"dotforce",
"dotindex",
"dotrate",
"dottime",
"drop",
"dropv",
"force",
"forcemap",
"freeze",
"freezetime",
"grab",
"grabdistance",
"guardcost",
"hitflash",
"hitsound",
"jugglecost",
"maptime",
"noblock",
"noflash",
"nokill",
"nopain",
"otg",
"pause",
"reset",
"seal",
"sealtime",
"staydown",
"steal",
"type",
}; 
--------------------
	IICMPCONST(COMPATIBLEVERSION)
ICMPCONST(MIN_INT)
ICMPCONST(MAX_INT)
ICMPCONST(PIXEL_8)
ICMPCONST(PIXEL_x8)
ICMPCONST(PIXEL_16)
ICMPCONST(PIXEL_32)
ICMPCONST(CV_SAVED_GAME)
ICMPCONST(CV_HIGH_SCORE)
ICMPCONST(THINK_SPEED)
ICMPCONST(COUNTER_SPEED)
ICMPCONST(MAX_ENTS)
ICMPCONST(MAX_PANELS)
ICMPCONST(MAX_WEAPONS)
ICMPCONST(MAX_COLOUR_MAPS)
ICMPCONST(MAX_NAME_LEN)
ICMPCONST(LEVEL_MAX_SPAWNS)
ICMPCONST(LEVEL_MAX_PANELS)
ICMPCONST(LEVEL_MAX_HOLES)
ICMPCONST(LEVEL_MAX_WALLS)
ICMPCONST(MAX_LEVELS)
ICMPCONST(MAX_DIFFICULTIES)
ICMPCONST(MAX_SPECIALS)
ICMPCONST(MAX_ATCHAIN)
ICMPCONST(MAX_ATTACKS)
ICMPCONST(MAX_FOLLOWS)
ICMPCONST(MAX_PLAYERS)
ICMPCONST(MAX_ARG_LEN)
ICMPCONST(FLAG_ESC)
ICMPCONST(FLAG_START)
ICMPCONST(FLAG_MOVELEFT)
ICMPCONST(FLAG_MOVERIGHT)
ICMPCONST(FLAG_MOVEUP)
ICMPCONST(FLAG_MOVEDOWN)
ICMPCONST(FLAG_ATTACK)
ICMPCONST(FLAG_ATTACK2)
ICMPCONST(FLAG_ATTACK3)
ICMPCONST(FLAG_ATTACK4)
ICMPCONST(FLAG_JUMP)
ICMPCONST(FLAG_SPECIAL)
ICMPCONST(FLAG_SCREENSHOT)
ICMPCONST(FLAG_ANYBUTTON)
ICMPCONST(FLAG_FORWARD)
ICMPCONST(FLAG_BACKWARD)
ICMPCONST(SDID_MOVEUP)
ICMPCONST(SDID_MOVEDOWN)
ICMPCONST(SDID_MOVELEFT)
ICMPCONST(SDID_MOVERIGHT)
ICMPCONST(SDID_SPECIAL)
ICMPCONST(SDID_ATTACK)
ICMPCONST(SDID_ATTACK2)
ICMPCONST(SDID_ATTACK3)
ICMPCONST(SDID_ATTACK4)
ICMPCONST(SDID_JUMP)
ICMPCONST(SDID_START)
ICMPCONST(SDID_SCREENSHOT)
ICMPCONST(TYPE_NONE)
ICMPCONST(TYPE_PLAYER)
ICMPCONST(TYPE_ENEMY)
ICMPCONST(TYPE_ITEM)
ICMPCONST(TYPE_OBSTACLE)
ICMPCONST(TYPE_STEAMER)
ICMPCONST(TYPE_SHOT)
ICMPCONST(TYPE_TRAP)
ICMPCONST(TYPE_TEXTBOX)
ICMPCONST(TYPE_ENDLEVEL)
ICMPCONST(TYPE_NPC)
ICMPCONST(TYPE_PANEL)
ICMPCONST(TYPE_RESERVED)
ICMPCONST(SUBTYPE_NONE)
ICMPCONST(SUBTYPE_BIKER)
ICMPCONST(SUBTYPE_NOTGRAB)
ICMPCONST(SUBTYPE_ARROW)
ICMPCONST(SUBTYPE_TOUCH)
ICMPCONST(SUBTYPE_WEAPON)
ICMPCONST(SUBTYPE_NOSKIP)
ICMPCONST(SUBTYPE_FLYDIE)
ICMPCONST(SUBTYPE_BOTH)
ICMPCONST(SUBTYPE_PROJECTILE)
ICMPCONST(SUBTYPE_FOLLOW)
ICMPCONST(SUBTYPE_CHASE)
ICMPCONST(AIMOVE1_NORMAL)
ICMPCONST(AIMOVE1_CHASE)
ICMPCONST(AIMOVE1_CHASEZ)
ICMPCONST(AIMOVE1_CHASEX)
ICMPCONST(AIMOVE1_AVOID)
ICMPCONST(AIMOVE1_AVOIDZ)
ICMPCONST(AIMOVE1_AVOIDX)
ICMPCONST(AIMOVE1_WANDER)
ICMPCONST(AIMOVE1_NOMOVE)
ICMPCONST(AIMOVE1_BIKER)
ICMPCONST(AIMOVE1_STAR)
ICMPCONST(AIMOVE1_ARROW)
ICMPCONST(AIMOVE1_BOMB)
ICMPCONST(AIMOVE2_NORMAL)
ICMPCONST(AIMOVE2_IGNOREHOLES)
ICMPCONST(AIATTACK1_NORMAL)
ICMPCONST(AIATTACK1_LONG)
ICMPCONST(AIATTACK1_MELEE)
ICMPCONST(AIATTACK1_NOATTACK)
ICMPCONST(AIATTACK1_ALWAYS)
ICMPCONST(AIATTACK2_NORMAL)
ICMPCONST(AIATTACK2_DODGE)
ICMPCONST(AIATTACK2_DODGEMOVE)
ICMPCONST(FRONTPANEL_Z)
ICMPCONST(HOLE_Z)
ICMPCONST(NEONPANEL_Z)
ICMPCONST(SHADOW_Z)
ICMPCONST(SCREENPANEL_Z)
ICMPCONST(PANEL_Z)
ICMPCONST(MIRROR_Z)
ICMPCONST(PIT_DEPTH)
ICMPCONST(P2_STATS_DIST)
ICMPCONST(CONTACT_DIST_H)
ICMPCONST(CONTACT_DIST_V)
ICMPCONST(GRAB_DIST)
ICMPCONST(GRAB_STALL)
ICMPCONST(ATK_NORMAL)
ICMPCONST(ATK_NORMAL2)
ICMPCONST(ATK_NORMAL3)
ICMPCONST(ATK_NORMAL4)
ICMPCONST(ATK_BLAST)
ICMPCONST(ATK_BURN)
ICMPCONST(ATK_FREEZE)
ICMPCONST(ATK_SHOCK)
ICMPCONST(ATK_STEAL)
ICMPCONST(ATK_NORMAL5)
ICMPCONST(ATK_NORMAL6)
ICMPCONST(ATK_NORMAL7)
ICMPCONST(ATK_NORMAL8)
ICMPCONST(ATK_NORMAL9)
ICMPCONST(ATK_NORMAL10)
ICMPCONST(ATK_ITEM)
ICMPCONST(ATK_LAND)
ICMPCONST(ATK_PIT)
ICMPCONST(ATK_LIFESPAN)
ICMPCONST(ATK_TIMEOVER)
ICMPCONST(SCROLL_RIGHT)
ICMPCONST(SCROLL_DOWN)
ICMPCONST(SCROLL_LEFT)
ICMPCONST(SCROLL_UP)
ICMPCONST(SCROLL_BOTH)
ICMPCONST(SCROLL_LEFTRIGHT)
ICMPCONST(SCROLL_RIGHTLEFT)
ICMPCONST(SCROLL_INWARD)
ICMPCONST(SCROLL_OUTWARD)
ICMPCONST(SCROLL_INOUT)
ICMPCONST(SCROLL_OUTIN)
ICMPCONST(SCROLL_UPWARD)
ICMPCONST(SCROLL_DOWNWARD)
ICMPCONST(ANI_IDLE)
ICMPCONST(ANI_WALK)
ICMPCONST(ANI_JUMP)
ICMPCONST(ANI_LAND)
ICMPCONST(ANI_PAIN)
ICMPCONST(ANI_FALL)
ICMPCONST(ANI_RISE)
ICMPCONST(ANI_UPPER)
ICMPCONST(ANI_BLOCK)
ICMPCONST(ANI_JUMPATTACK)
ICMPCONST(ANI_JUMPATTACK2)
ICMPCONST(ANI_GET)
ICMPCONST(ANI_GRAB)
ICMPCONST(ANI_GRABATTACK)
ICMPCONST(ANI_GRABATTACK2)
ICMPCONST(ANI_THROW)
ICMPCONST(ANI_SPECIAL)
ICMPCONST(ANI_SPAWN)
ICMPCONST(ANI_DIE)
ICMPCONST(ANI_PICK)
ICMPCONST(ANI_JUMPATTACK3)
ICMPCONST(ANI_UP)
ICMPCONST(ANI_DOWN)
ICMPCONST(ANI_SHOCK)
ICMPCONST(ANI_BURN)
ICMPCONST(ANI_SHOCKPAIN)
ICMPCONST(ANI_BURNPAIN)
ICMPCONST(ANI_GRABBED)
ICMPCONST(ANI_SPECIAL2)
ICMPCONST(ANI_RUN)
ICMPCONST(ANI_RUNATTACK)
ICMPCONST(ANI_RUNJUMPATTACK)
ICMPCONST(ANI_ATTACKUP)
ICMPCONST(ANI_ATTACKDOWN)
ICMPCONST(ANI_ATTACKFORWARD)
ICMPCONST(ANI_ATTACKBACKWARD)
ICMPCONST(ANI_RISEATTACK)
ICMPCONST(ANI_DODGE)
ICMPCONST(ANI_ATTACKBOTH)
ICMPCONST(ANI_GRABFORWARD)
ICMPCONST(ANI_GRABFORWARD2)
ICMPCONST(ANI_JUMPFORWARD)
ICMPCONST(ANI_GRABDOWN)
ICMPCONST(ANI_GRABDOWN2)
ICMPCONST(ANI_GRABUP)
ICMPCONST(ANI_GRABUP2)
ICMPCONST(ANI_SELECT)
ICMPCONST(ANI_DUCK)
ICMPCONST(ANI_FAINT)
ICMPCONST(ANI_CANT)
ICMPCONST(ANI_THROWATTACK)
ICMPCONST(ANI_CHARGEATTACK)
ICMPCONST(ANI_VAULT)
ICMPCONST(ANI_JUMPCANT)
ICMPCONST(ANI_JUMPSPECIAL)
ICMPCONST(ANI_BURNDIE)
ICMPCONST(ANI_SHOCKDIE)
ICMPCONST(ANI_PAIN2)
ICMPCONST(ANI_PAIN3)
ICMPCONST(ANI_PAIN4)
ICMPCONST(ANI_FALL2)
ICMPCONST(ANI_FALL3)
ICMPCONST(ANI_FALL4)
ICMPCONST(ANI_DIE2)
ICMPCONST(ANI_DIE3)
ICMPCONST(ANI_DIE4)
ICMPCONST(ANI_CHARGE)
ICMPCONST(ANI_BACKWALK)
ICMPCONST(ANI_SLEEP)
ICMPCONST(ANI_PAIN5)
ICMPCONST(ANI_PAIN6)
ICMPCONST(ANI_PAIN7)
ICMPCONST(ANI_PAIN8)
ICMPCONST(ANI_PAIN9)
ICMPCONST(ANI_PAIN10)
ICMPCONST(ANI_FALL5)
ICMPCONST(ANI_FALL6)
ICMPCONST(ANI_FALL7)
ICMPCONST(ANI_FALL8)
ICMPCONST(ANI_FALL9)
ICMPCONST(ANI_FALL10)
ICMPCONST(ANI_DIE5)
ICMPCONST(ANI_DIE6)
ICMPCONST(ANI_DIE7)
ICMPCONST(ANI_DIE8)
ICMPCONST(ANI_DIE9)
ICMPCONST(ANI_DIE10)
ICMPCONST(ANI_TURN)
ICMPCONST(ANI_RESPAWN)
ICMPCONST(ANI_FORWARDJUMP)
ICMPCONST(ANI_RUNJUMP)
ICMPCONST(ANI_JUMPLAND)
ICMPCONST(ANI_JUMPDELAY)
ICMPCONST(ANI_HITWALL)
ICMPCONST(ANI_GRABBACKWARD)
ICMPCONST(ANI_GRABBACKWARD2)
ICMPCONST(ANI_GRABWALK)
ICMPCONST(ANI_GRABBEDWALK)
ICMPCONST(ANI_GRABWALKUP)
ICMPCONST(ANI_GRABBEDWALKUP)
ICMPCONST(ANI_GRABWALKDOWN)
ICMPCONST(ANI_GRABBEDWALKDOWN)
ICMPCONST(ANI_GRABTURN)
ICMPCONST(ANI_GRABBEDTURN)
ICMPCONST(ANI_GRABBACKWALK)
ICMPCONST(ANI_GRABBEDBACKWALK)
ICMPCONST(ANI_SLIDE)
ICMPCONST(ANI_RUNSLIDE)
ICMPCONST(ANI_BLOCKPAIN)
ICMPCONST(ANI_DUCKATTACK)
ICMPCONST(MAX_ANIS)
ICMPCONST(PLAYER_MIN_Z)
ICMPCONST(PLAYER_MAX_Z)
ICMPCONST(BGHEIGHT)
ICMPCONST(MAX_WALL_HEIGHT)
ICMPCONST(SAMPLE_GO)
ICMPCONST(SAMPLE_BEAT)
ICMPCONST(SAMPLE_BLOCK)
ICMPCONST(SAMPLE_INDIRECT)
ICMPCONST(SAMPLE_GET)
ICMPCONST(SAMPLE_GET2)
ICMPCONST(SAMPLE_FALL)
ICMPCONST(SAMPLE_JUMP)
ICMPCONST(SAMPLE_PUNCH)
ICMPCONST(SAMPLE_1UP)
ICMPCONST(SAMPLE_TIMEOVER)
ICMPCONST(SAMPLE_BEEP)
ICMPCONST(SAMPLE_BEEP2)
ICMPCONST(SAMPLE_BIKE)
ICMPCONST(ANI_RISE2)
ICMPCONST(ANI_RISE3)
ICMPCONST(ANI_RISE4)
ICMPCONST(ANI_RISE5)
ICMPCONST(ANI_RISE6)
ICMPCONST(ANI_RISE7)
ICMPCONST(ANI_RISE8)
ICMPCONST(ANI_RISE9)
ICMPCONST(ANI_RISE10)
ICMPCONST(ANI_RISEB)
ICMPCONST(ANI_RISES)
ICMPCONST(ANI_BLOCKPAIN2)
ICMPCONST(ANI_BLOCKPAIN3)
ICMPCONST(ANI_BLOCKPAIN4)
ICMPCONST(ANI_BLOCKPAIN5)
ICMPCONST(ANI_BLOCKPAIN6)
ICMPCONST(ANI_BLOCKPAIN7)
ICMPCONST(ANI_BLOCKPAIN8)
ICMPCONST(ANI_BLOCKPAIN9)
ICMPCONST(ANI_BLOCKPAIN10)
ICMPCONST(ANI_BLOCKPAINB)
ICMPCONST(ANI_BLOCKPAINS)
ICMPCONST(ANI_CHIPDEATH)
ICMPCONST(ANI_GUARDBREAK)
ICMPCONST(ANI_RISEATTACK2)
ICMPCONST(ANI_RISEATTACK3)
ICMPCONST(ANI_RISEATTACK4)
ICMPCONST(ANI_RISEATTACK5)
ICMPCONST(ANI_RISEATTACK6)
ICMPCONST(ANI_RISEATTACK7)
ICMPCONST(ANI_RISEATTACK8)
ICMPCONST(ANI_RISEATTACK9)
ICMPCONST(ANI_RISEATTACK10)
ICMPCONST(ANI_RISEATTACKB)
ICMPCONST(ANI_RISEATTACKS)
ICMPCONST(ANI_SLIDE)
ICMPCONST(ANI_RUNSLIDE)
ICMPCONST(ANI_DUCKATTACK)
ICMPCONST(ANI_WALKOFF)
ICMPCONST(ANI_FREESPECIAL)
// for the extra animation ids
ICMPSCONSTC(ATK_NORMAL)
ICMPSCONSTA(ANI_DOWN, animdowns)
ICMPSCONSTA(ANI_UP, animups)
ICMPSCONSTA(ANI_BACKWALK, animbackwalks)
ICMPSCONSTA(ANI_WALK, animwalks)
ICMPSCONSTA(ANI_IDLE, animidles)
ICMPSCONSTB(ANI_FALL, animfalls)
ICMPSCONSTB(ANI_RISE, animrises)
ICMPSCONSTB(ANI_RISEATTACK, animriseattacks)
ICMPSCONSTB(ANI_PAIN, animpains)
ICMPSCONSTB(ANI_DIE, animdies)
ICMPSCONSTA(ANI_ATTACK, animattacks)
ICMPSCONSTA(ANI_FOLLOW, animfollows)
ICMPSCONSTA(ANI_FREESPECIAL, animspecials) 

//entity * projectile([0/1], char *name, float x, float z, float a, int direction, int pytype, int type, int map);

===== changedrawmethod ======
enum drawmethod_enum
{
	_dm_alpha,
	_dm_amplitude,
	_dm_beginsize,
	_dm_centerx,
	
_dm_centery,
	_dm_channelb,
	_dm_channelg,
	_dm_channelr,
	_dm_clip,
	_dm_cliph,
	_dm_clipw,
	
_dm_clipx,
	_dm_clipy,
	_dm_enabled,
	_dm_endsize,
	_dm_fillcolor,
	_dm_flag,
	_dm_fliprotate,
	
_dm_flipx,
	_dm_perspective,
	_dm_remap,
	_dm_reset,
	_dm_rotate,
	_dm_scalex,
	_dm_scaley,

_dm_shiftx,
	_dm_table,
 _dm_tintcolor,
	_dm_tintmode,
	_dm_transbg,
	_dm_watermode,
	_dm_wavelength,
	
_dm_wavespeed,
	_dm_wavetime,
	_dm_xrepeat,
	_dm_xspan,
	_dm_yrepeat,
	_dm_yspan,
	_dm_the_end,
};

"alpha",
		"amplitude",
		"beginsize",
		"centerx",
		"centery",
		
"channelb",
		"channelg",
		"channelr",
		"clip",
		"cliph",
		
"clipw",
		"clipx",
		"clipy",
		"enabled",
		"endsize",
		
"fillcolor",
		"flag",
		"fliprotate",
		"flipx",
		"perspective",
		
"remap",
		"reset",
		"rotate",
		"scalex",
		"scaley",
		
"shiftx",
		"table",
		"tintcolor",
		"tintmode",
		"transbg",
	
"watermode",
		"wavelength",
		"wavespeed",
		"wavetime",
		"xrepeat",
	
"xspan",
		"yrepeat",
		"yspan",

 
Obviously no, i made a list with all script commands in engine just to discover hidden stuff.
ITs a bit offtopic but also this is not in manual , but definitely should be :

Code:
Here are the new drawmethod commands, I changed some of the from the old logic (like using 0~1.0 instead of 0~256 for scale to make it more user friendly)


drawmethod scale {scalex} {scaley}
If scaley is not specified, it is the same as scalex. For example, drawmethod scale 1.5 will scale the whole sprite by 1.5.

drawmethod scalex {scalex}
drawmethod scaley {scalex}

These 2 are subset of the previous scale command.

drawmethod flipx {0/1}

drawmethod flipy {0/1}

drawmethod shiftx {value}

Others may call that "shear" or "lean", but anyway, it is usually for gfxshadow, it is unlikely you need this. A value of 1.0 is the same as 256 in old drawmethod command.

drawmethod rotate {angle}

Rotate the sprite, clockwise.

drawmethod fliprotate {0/1}

If the rotation is affected by entity direction.

drawmethod fillcolor {color}

Like the old command. You can either use a raw integer value or in R_G_B format, the later has better compatibility obviously.

drawmethod remap {int}

Leave it alone or use -1 if you want to use current map. Don't use 0, because it means default palette.

drawmethod alpha {int}

Like above, use -1 or leave alone to avoid overriding.

drawmethod channel {r} {b} {b}

When using alpha 6, you can specify opacity for each channel (r, g or b), or leave the other 2 alone to set all the 3 channels.

For example the code below will grand the entity 25% opacity:

drawmethod alpha 6
drawmethod channel 0.25

drawmethod channelr {r}
drawmethod channelg {g}
drawmethod channelb {b}

These are subset of channel.

drawmethod tintmode {int}
drawmethod tintcolor {color}

These 2 will tint the sprite with given tintcolor, in alpha mode tintmode. The color use same format as fillcolor.

drawmethod clip {x} {y} {w} {h}

This one is on svn but is still experimental.
Most info about aiflags was on wiki
http://www.caskeys.com/arc/games/openbor/wiki/index.php?title=AI_Flags
 
I will update that info in the manual.
And why I always forgot the wiki? :( but there are still some not documented options there

Thanks man, I will add that link to the first post
 
IMO all script functions should be written in manual , maybe at the end of it so people could take a look, because now its kinda spread all over forums everywhere and nowhere and you have to pick up piece by piece , nobody really maintaned manual besides bloodbane but a lot of stuff is not there, its hard for newcomers to start like this without full info.
 
There is no rise aiflag ? Im figuring out the way to do rise from backfall, i need custom one, its not in the engine.
 
bWWd said:
There is no rise aiflag ? Im figuring out the way to do rise from backfall, i need custom one, its not in the engine.

You can use "takeaction" aiflag.

enum aiflag_enum
{
    _ep_aiflag_animating,
    _ep_aiflag_attacking,
    _ep_aiflag_autokill,
    _ep_aiflag_blink,
    _ep_aiflag_blocking,
    _ep_aiflag_charging,
    _ep_aiflag_dead,
    _ep_aiflag_drop,
    _ep_aiflag_falling,
    _ep_aiflag_frozen,
    _ep_aiflag_getting,
    _ep_aiflag_idlemode,
    _ep_aiflag_idling,
    _ep_aiflag_inbackpain,
    _ep_aiflag_inpain,
    _ep_aiflag_invincible,
    _ep_aiflag_jumpid,
    _ep_aiflag_jumping,
    _ep_aiflag_projectile,
    _ep_aiflag_running,
    _ep_aiflag_toexplode,
    _ep_aiflag_turning,
    _ep_aiflag_walking,
    _ep_aiflag_walkmode,
    _ep_aiflag_the_end,
};

static const char *eplist_aiflag[] =
{
    "animating",
    "attacking",
    "autokill",
    "blink",
    "blocking",
    "charging",
    "dead",
    "drop",
    "falling",
    "frozen",
    "getting",
    "idlemode",
    "idling",
    "inbackpain",
    "inpain",
    "invincible",
    "jumpid",
    "jumping",
    "projectile",
    "running",
    "toexplode",
    "turning",
    "walking",
    "walkmode",
};

I think you can use this:
inbackpain = 0;
falling = 0;

Or, better saying, you can use "takeaction = common_rise"
 
@bwwd, reading the source code, I think you can use the takeaction() function of the AIFLAGS, take a look:

int set_rise(entity *iRise, int type, int reset)
{
    if(type < 0 || type >= max_attack_types || !validanim(iRise, animrises[type]))
    {
        type = 0;
    }
    if(validanim(iRise, animrises[type]))
    {
        ent_set_anim(iRise, animrises[type], reset);
    }
    else
    {
        return 0;
    }
    iRise->takeaction = common_rise;
    // Get up again
    iRise->drop = 0;
    iRise->falling = 0;
    iRise->inbackpain = 0;
    iRise->projectile = 0;
    iRise->nograb = iRise->nograb_default; //iRise->nograb = 0;
    iRise->velocity.x = self->velocity.z = self->velocity.y = 0;
    iRise->modeldata.jugglepoints.current = iRise->modeldata.jugglepoints.max; //reset jugglepoints
    return 1;
}

And if you read the takeaction options, you will find a "rise" entry
enum cep_takeaction_enum
{
    _ep_ta_bomb_explode,
    _ep_ta_common_animation_normal,
    _ep_ta_common_attack_proc,
    _ep_ta_common_block,
    _ep_ta_common_drop,
    _ep_ta_common_fall,
    _ep_ta_common_get,
    _ep_ta_common_grab,
    _ep_ta_common_grabattack,
    _ep_ta_common_grabbed,
    _ep_ta_common_jump,
    _ep_ta_common_land,
    _ep_ta_common_lie,
    _ep_ta_common_pain,
    _ep_ta_common_prejump,
    _ep_ta_common_rise,
    _ep_ta_common_spawn,
    _ep_ta_common_turn,
    _ep_ta_normal_prepare,
    _ep_ta_npc_warp,
    _ep_ta_player_blink,
    _ep_ta_suicide,
    _ep_ta_the_end,
};
 
@cmd changeentityproperty getlocalvar("self") "takeaction" "common_rise"
this worked fhanks
 
ok this workaround has problem when character dies, my player does not die properly, after last attack from back he goes to custom fallback, then custom follow animation for rise animation, and he gets stuck in idle when hes supposed to die, any more flags i need to give my player to let him die in peace ?

Code:
anim	backfall
	loop	0
	landframe	12
	bouncefactor	2.2
	quakeframe	1 1 10
	offset	64 171
	bbox	0 0 0 0
	delay	5
	jumpframe	3 0.5 5
	sound	data/chars/leo/fall.wav
	frame	data/chars/leo/painb1.gif
	frame	data/chars/leo/painb2.gif
	frame	data/chars/leo/painb3.gif
	@cmd	changeentityproperty getlocalvar("self") "aiflag" "drop" 0
	@cmd	changeentityproperty getlocalvar("self") "aiflag" "falling" 0
	frame	data/chars/leo/painb4.gif
	frame	data/chars/leo/painb5.gif
	offset	69 138
	frame	data/chars/leo/jump6.gif
	frame	data/chars/leo/jump7.gif
	frame	data/chars/leo/jump8.gif
	offset	86 132
	frame	data/chars/leo/jump9.gif
	offset	88 122
	frame	data/chars/leo/jump10.gif
	offset	95 242
	frame	data/chars/leo/fallb1.gif
	delay	5
	offset	101 245
	frame	data/chars/leo/fallb2.gif
	@cmd	performattack getlocalvar("self") openborconstant("ANI_FOLLOW1")
	frame	data/chars/leo/fallb3.gif


Code:
anim	follow1
	loop	0
	offset	101 245
	bbox	0 0 0 0
	delay	55
	subentity	dust
	spawnframe	0
        @cmd   changeentityproperty getlocalvar("self") "takeaction" "common_rise"
	frame	data/chars/leo/fallb3.gif
	delay	5
	frame	data/chars/leo/fallb4.gif
	frame	data/chars/leo/fallb5.gif
	frame	data/chars/leo/fallb6.gif
	frame	data/chars/leo/fallb7.gif
	frame	data/chars/leo/fallb8.gif
	frame	data/chars/leo/fallb9.gif
	@cmd	changeentityproperty getlocalvar("self") "aiflag" "idling"  1
	frame	data/chars/leo/fallb9.gif
 
yeah probably, i was thinking about it and ill do that, do you know some way to cancel falling velocity during fall animation and use your own instead? This custom backfall doesnt look good if its too high, it needs to be always at the same height.
 
Set the velocity and speed to 0. It should do the work.

Btw, since you were in backfall and goes to follow animation, maybe the flag "falling" is still turned on.
 
Back
Top Bottom