//play animation for weapon in hand during combat on a horse //kolours - modularized (09/20/98) void combatonhorse(int i) { int j; if (chars[i].npc != 0) return; //return if char is not a player j = getweapon(i); //find out which weapon the player is holding if ((items[j].id1==0x13)&&(items[j].id2==0xB2)) { npcaction(i, 0x1B); //bow return; } if ((items[j].id1==0x0F)&&(items[j].id2==0x4F) || //xbow (items[j].id1==0x13)&&(items[j].id2==0xFD) ) //hxbow { npcaction(i, 0x1C); //crossbow - regular return; } if ((items[j].id1==0x13)&&(items[j].id2>=0xB5)&&(items[j].id2<=0xBA) || //swords (items[j].id1==0x0E)&&(items[j].id2>=0xC1)&&(items[j].id2<=0xC5) || //swords (items[j].id1==0x0F)&&(items[j].id2>=0x5E)&&(items[j].id2<=0x61) || //swords (items[j].id1==0x13)&&(items[j].id2==0xFA)||(items[j].id2==0xFB) || //swords (items[j].id1==0x13)&&(items[j].id2==0xFE)||(items[j].id2==0xFF) || //swords (items[j].id1==0x0D)&&(items[j].id2>=0xF0)&&(items[j].id2<=0xF5) || //maces (items[j].id1==0x14)&&(items[j].id2>=0x38)&&(items[j].id2<0x3C) || //maces (items[j].id1==0x13)&&(items[j].id2==0xB3)||(items[j].id2==0xB4) || //maces (items[j].id1==0x0F)&&(items[j].id2==0x5C)||(items[j].id2==0x5D) || //maces (items[j].id1==0x0F)&&(items[j].id2==0xB4)||(items[j].id2==0xB5) || //maces (items[j].id1==0x13)&&(items[j].id2==0xAF)||(items[j].id2==0xB0) || //maces (items[j].id1==0x13)&&(items[j].id2==0xE3)||(items[j].id2==0xE4) || //maces (items[j].id1==0x13)&&(items[j].id2==0xF4)||(items[j].id2==0xF5) || //maces (items[j].id1==0x13)&&(items[j].id2==0xF8)||(items[j].id2==0xF9) || //maces (items[j].id1==0x14)&&(items[j].id2==0x3C) || //maces - hammer pick (items[j].id1==0x14)&&(items[j].id2==0x06)||(items[j].id2==0x07) || //maces - 1H war mace (items[j].id1==0x0E)&&(items[j].id2==0x81)||(items[j].id2==0x82) || //maces (items[j].id1==0x0E)&&(items[j].id2==0x89)||(items[j].id2==0x8A) || //maces (items[j].id1==0x14)&&(items[j].id2>=0x00)&&(items[j].id2<=0x05) || //fencing (items[j].id1==0x0F)&&(items[j].id2==0x51)||(items[j].id2==0x52) ) //fencing - kryss { npcaction(i, 0x1A); return; } if ((items[j].id1==0x0F)&&(items[j].id2>=0x43)&&(items[j].id2<=0x4E) || //2H axes (items[j].id1==0x14)&&(items[j].id2>=0x3E)&&(items[j].id2<=0x43) || //halberd (items[j].id1==0x0F)&&(items[j].id2==0x62)||(items[j].id2==0x63) || //fencing - spear (items[j].id1==0x0E)&&(items[j].id2==0x87)||(items[j].id2==0x88) ) //fencing - pitchfork { npcaction(i, 0x1D); //2H axes return; } else { npcaction(i, 0x1A); //fist fighting return; } } //play animation for weapon in hand for combat on foot //kolours - (09/20/98) void combatonfoot(int i) { int j; int m; if (chars[i].npc != 0) return; //return if char is not a player j = getweapon(i); //identify the weapon the player is holding m = rand()%4; //randomize the animation sequence if ((items[j].id1==0x13)&&(items[j].id2==0xB2)) { npcaction(i, 0x12); //bow return; } if ((items[j].id1==0x0F)&&(items[j].id2==0x4F) || //xbow (items[j].id1==0x13)&&(items[j].id2==0xFD) ) //xhbow { npcaction(i, 0x13); //crossbow - regular return; } if ((items[j].id1==0x13)&&(items[j].id2>=0xB5)&&(items[j].id2<=0xBA) || //1H swords (items[j].id1==0x0F)&&(items[j].id2>=0x5E)&&(items[j].id2<=0x61) || //1H swords (items[j].id1==0x0E)&&(items[j].id2>=0xC1)&&(items[j].id2<=0xC5) || //1H swords (items[j].id1==0x13)&&(items[j].id2==0xFA) || //1H swords (items[j].id1==0x13)&&(items[j].id2==0xFE)||(items[j].id2==0xFF) ) //1H swords { switch (m) //swords { case 0: npcaction(i, 0x0D); //side swing return; case 1: npcaction(i, 0x0A); //poke return; default: npcaction(i, 0x09); //top-down swing return; } } if ((items[j].id1==0x0D)&&(items[j].id2>=0xF0)&&(items[j].id2<=0xF5) || //maces (items[j].id1==0x13)&&(items[j].id2==0xB3)||(items[j].id2==0xB4) || //maces (items[j].id1==0x0F)&&(items[j].id2==0x5C)||(items[j].id2==0x5D) || //maces (items[j].id1==0x0F)&&(items[j].id2==0xB4)||(items[j].id2==0xB5) || //maces (items[j].id1==0x13)&&(items[j].id2==0xAF)||(items[j].id2==0xB0) || //maces (items[j].id1==0x13)&&(items[j].id2==0xE3)||(items[j].id2==0xE4) || //maces (items[j].id1==0x13)&&(items[j].id2==0xF4)||(items[j].id2==0xF5) || //maces (items[j].id1==0x13)&&(items[j].id2==0xF8)||(items[j].id2==0xF9) || //maces (items[j].id1==0x14)&&(items[j].id2==0x3C) || //maces - hammer pick (items[j].id1==0x14)&&(items[j].id2==0x06)||(items[j].id2==0x07) || //maces (items[j].id1==0x0E)&&(items[j].id2==0x81)||(items[j].id2==0x82) || //maces (items[j].id1==0x0E)&&(items[j].id2==0x89)||(items[j].id2==0x8A) ) //maces { switch (m) //maces { case 0: npcaction(i, 0x0D); //side swing return; default: npcaction(i, 0x09); //top-down swing return; } } if ((items[j].id1==0x14)&&(items[j].id2>=0x38)&&(items[j].id2<0x3C) || //2H maces - 2H war hammer (items[j].id1==0x14)&&(items[j].id2>=0x3E)&&(items[j].id2<=0x43)|| //Halberd (items[j].id1==0x13)&&(items[j].id2==0xFB) || //War Axe (items[j].id1==0x0F)&&(items[j].id2>=0x43)&&(items[j].id2<=0x4E) ) //2H Axes { switch (m) { case 0: npcaction(i, 0x0D); //2H top-down return; case 1: npcaction(i, 0x0C); //2H swing return; default: npcaction(i, 0x0D); //2H top-down return; } } if ((items[j].id1==0x14)&&(items[j].id2>=0x00)&&(items[j].id2<0x05) || //kryss - fencing (items[j].id1==0x0F)&&(items[j].id2==0x51)||(items[j].id2==0x52)|| //fencing (items[j].id1==0x14)&&(items[j].id2==0x05) ) //fencing { switch (m) //fencing { case 0: npcaction(i, 0x09); //top-down return; case 1: npcaction(i, 0x0D); //side-swipe return; default: npcaction(i, 0x0A); //default: poke return; } } if ((items[j].id1==0x0E)&&(items[j].id2==0x87)||(items[j].id2==0x88) || //pitchfork (items[j].id1==0x0F)&&(items[j].id2==0x62)||(items[j].id2==0x63) ) //spear { switch (m) //pitchfork { case 0: npcaction(i, 0x0D); //top-down return; default: npcaction(i, 0x0E); //default: 2-handed poke return; } } else { switch (m) //fist fighting { case 0: npcaction(i, 0x0a); //fist straight-punch return; case 1: npcaction(i, 0x09); //fist top-down return; default: npcaction(i, 0x1F); //default: //fist over-head return; } } }