icewindo 29 Posted June 12, 2012 As we all know, some "weeks" are shorter, than other (especially weeks of vacation). Anyway, already I have some result, I just could not resist to make some scripting about this today. It is very, very wip, but somehow works, so you can see, what is direction of my efforts here:AIFencing-very-wip (nothing to do, just watch) Implemented hit accuracy, block chance, various hit damage and attack frequency based on various skills. Also added fatigue factor, so with every stroke fatigue should to grow, and delay before next stroke should be rather longer, than same or shorter. If not in fight, resting procedure is active. All this of course not balanced yet. All randomized in limited range. SQF based only. Main problems at this stage: - often weird movement directions (they should always run towards nearest enemy then fight, but sometimes they don't, but rather running away, still should return sooner or later); - "stroke" directions for some reason often bad; - always running, but they should rather to walk, when enemy is close or very far. Hey Rydygier that's very impressive, I like how the units react to the hits. And no lagging anims at all, nice job :bounce3: . Even with the issues you listed it's imo way better than the fsm. For the knights I've increased the speed of the fighting animations roughly by 20% so if you'd like to experiment with that you could use this config and pack it into a pbo: class CfgPatches { class animations_melee { units[]={}; weapons[]={}; requiredVersion = 1.00; requiredAddons[]={}; }; }; class CfgMovesBasic { class StandBase; }; class CfgMovesMaleSdr: CfgMovesBasic { class States { class AmovPercMstpSlowWrflDnon: StandBase { aiming = "headDefault"; aimingBody = "empty"; }; class AmovPercMstpSrasWrflDnon: AmovPercMstpSlowWrflDnon{}; class AmovPknlMstpSlowWrflDnon; class AmovPknlMstpSrasWrflDnon; class AmovPpneMstpSrasWrflDnon; class AmovPercMstpSlowWpstDnon; class AmovPercMstpSrasWpstDnon; class AmovPknlMstpSlowWpstDnon; class AmovPknlMstpSrasWpstDnon; class AmovPpneMstpSrasWpstDnon; class AmovPknlMstpSrasWlnrDnon; class AmovPercMstpSnonWnonDnon: StandBase{}; class AmovPknlMstpSnonWnonDnon; class AmovPpneMstpSnonWnonDnon; class AidlPercMstpSrasWrflDnon0S: AmovPercMstpSrasWrflDnon { actions = "RifleStandActions_Idle"; file = "\ca\Anims\Characters\data\Anim\Sdr\Mov\Erc\stp\low\rfl\AmovPercMstpSlowWrflDnon.rtm"; equivalentTo = "AidlPercMstpSrasWrflDnon01"; variantsPlayer[] = {}; variantsAI[] = {"AidlPercMstpSrasWrflDnon0S",0.01,"AidlPercMstpSrasWrflDnon01",0.01,"AidlPercMstpSrasWrflDnon02",0.01,"AidlPercMstpSrasWrflDnon03",0.01,"AidlPercMstpSrasWrflDnon04",0.01,"AidlPercMstpSrasWrflDnon05",0.001,"AidlPercMstpSrasWrflDnon06",0.001,"AidlPercMstpSrasWrflDnon_i01",0.001,"AidlPercMstpSrasWrflDnon_i02",0.001,"AidlPercMstpSrasWrflDnon_i03",0.001,"AidlPercMstpSrasWrflDnon_i04",0.001,"AidlPercMstpSrasWrflDnon_i05",0.005,"AidlPercMstpSrasWrflDnon_i07",0.01,"AidlPercMstpSrasWrflDnon_i08",0.001,"AidlPercMstpSrasWrflDnon_i09",0.01,"AidlPercMstpSrasWrflDnon_i10",0.01,"AidlPercMstpSrasWrflDnon_i11",0.01,"AidlPercMstpSrasWrflDnon_i12",0.001,"AidlPercMstpSrasWrflDnon_i13",0.001,"AidlPercMstpSrasWrflDnon_idleSteady01N",0.22,"AidlPercMstpSrasWrflDnon_idleSteady02N",0.22,"AidlPercMstpSrasWrflDnon_idleSteady03N",0.22,"AidlPercMstpSrasWrflDnon_idleSteady04N"}; variantAfter[] = {3,5,10}; collisionShape = "ca\Anims\Characters\data\Geom\Sdr\Perc_Idle.p3d"; canPullTrigger = 0; connectFrom[] = {}; connectTo[] = {}; interpolateTo[] = {"AdthPercMstpSrasWrflDnon_1",0.1,"AmovPercMstpSrasWrflDnon",0.1,"AdthPercMstpSrasWrflDnon_1",0.1}; looped = 1; interpolateWith[] = {"AidlPercMstpSrasWrflDnon0S",0.1,"AmovPercMstpSrasWrflDnon",0.1,"AmovPercMstpSlowWrflDnon",0.1,"AidlPercMstpSrasWrflDnon01",0.1,"AidlPercMstpSrasWrflDnon02",0.1,"AidlPercMstpSrasWrflDnon03",0.1,"AidlPercMstpSrasWrflDnon04",0.1,"AidlPercMstpSrasWrflDnon05",0.1,"AidlPercMstpSrasWrflDnon06",0.1,"AidlPercMstpSrasWrflDnon_i01",0.1,"AidlPercMstpSrasWrflDnon_i02",0.1,"AidlPercMstpSrasWrflDnon_i03",0.1,"AidlPercMstpSrasWrflDnon_i04",0.1,"AidlPercMstpSrasWrflDnon_i05",0.1,"AidlPercMstpSrasWrflDnon_i07",0.1,"AidlPercMstpSrasWrflDnon_i08",0.1,"AidlPercMstpSrasWrflDnon_i09",0.1,"AidlPercMstpSrasWrflDnon_i10",0.1,"AidlPercMstpSrasWrflDnon_i11",0.1,"AidlPercMstpSrasWrflDnon_i12",0.1,"AidlPercMstpSrasWrflDnon_i13",0.1,"AidlPercMstpSrasWrflDnon_idleSteady01N",0.1,"AidlPercMstpSrasWrflDnon_idleSteady02N",0.1,"AidlPercMstpSrasWrflDnon_idleSteady03N",0.1,"AidlPercMstpSrasWrflDnon_idleSteady04N",0.1}; interpolationSpeed = 2; aiming = "headDefault"; aimingBody = "empty"; }; class AidlPercMstpSrasWrflDnon: AidlPercMstpSrasWrflDnon0S { connectFrom[] = {}; connectTo[] = {}; interpolateTo[] = {"AmovPercMstpSrasWrflDnon",0.1,"AdthPercMstpSrasWrflDnon_1",0.1}; }; class AmelPercMstpSnonWnonDnon_amaterUder1: AmovPercMstpSnonWnonDnon { ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; InterpolateTo[] = {"AdthPercMstpSnonWnonDnon_1",0.01,"AdthPercMstpSnonWnonDnon_2",0.01,"AdthPercMstpSnonWnonDnon_3",0.01}; file = "\Ca\Anims\Characters\data\Anim\sdr\mel\erc\stp\non\non\AmelPercMstpSnonWnonDnon_amaterUder1"; speed = 0.4; //speed = 0.27027; }; class AmelPercMstpSnonWnonDnon_amaterUder2: AmelPercMstpSnonWnonDnon_amaterUder1 { ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; InterpolateTo[] = {"AdthPercMstpSnonWnonDnon_1",0.01,"AdthPercMstpSnonWnonDnon_2",0.01,"AdthPercMstpSnonWnonDnon_3",0.01}; file = "\Ca\Anims\Characters\data\Anim\sdr\mel\erc\stp\non\non\AmelPercMstpSnonWnonDnon_amaterUder2"; speed = 0.45; //speed = 0.348837; }; class AmelPercMstpSnonWnonDnon_amaterUder3: AmelPercMstpSnonWnonDnon_amaterUder1 { ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; InterpolateTo[] = {"AdthPercMstpSnonWnonDnon_2",0.01,"AdthPercMstpSnonWnonDnon_3",0.01}; file = "\Ca\Anims\Characters\data\Anim\sdr\mel\erc\stp\non\non\AmelPercMstpSnonWnonDnon_amaterUder3"; speed = 0.3; //speed = 0.223881; }; }; }; class CfgGesturesMale { class Default{}; }; :) Yeah, true, probably this is vanilla group fleeing behaviour (each unit is a separate group). EDIT: It is. Disabled fleeing, and running away is no more. All are very, very brave now. :) BTW. Someone knows, what is difference between parameter set by allowFleeing and skill "courage"? Hm good question, comparing the two entries I don't understand the difference too. I've always used allowFleeing in the past though. http://community.bistudio.com/wiki/skill http://community.bistudio.com/wiki/allowFleeing Share this post Link to post Share on other sites
Rydygier 1309 Posted June 12, 2012 New version is under way, I still struggle with some issues. For now will stay with default speed of animations, these, I think, nicely emphasize inertia of sword - this is quite heavy piece of steel after all. Also I doubt, if in armor knight was able to move so quicly and agile... Share this post Link to post Share on other sites
anthropoid 1 Posted June 12, 2012 Wow. Might have to check this out. If you are not aware of Mount&Blade Warband (game published by Taleworlds) you should definitely check it out Share this post Link to post Share on other sites
Rydygier 1309 Posted June 12, 2012 (edited) Yes, M&B is quite unique. Had this game some years ago. For now, next version (this time battle is bigger): FencingAIverB - still wip What's new: - added sounds (by say3D, for better "surround" effect, also in description.ext added for each file new parameter for fading at reasonable distance (set to 200 meters). Wandering, if is possible to randomize somehow pitch of each shout sound for more audio diversity); - better balanced; - chance for hit/block dependent also on unit's damage; - experimental: after each hit chance for additional particle blood. Bigger chance and more blood for more damaged units and stronger hits (sometimes KillBill-like gore effect :) ); - experimental: fleeing and/or surrendering. When unit is wounded, there is a chance, that will panic and flee or will drop weapons and raise hands as captive. Captives will flee, if no non-captive enemy is nearby. Also implemented simple "crowd effect" - the more units in flee/captive, the more chance for other of this side to do same. Captives do not fight, but also usually aren't attacked (ransom was important profit source in Middle Ages, if I'm not mistaken); - not tested feature - if given units has assigned waypoint(s) and spot enemy en route, then waypoint will be not deleted, as before, but "suspended" for time of fight (or rather should be); - when distance is bigger than 100 meters or lesser than a few, then unit will move with limited speed, otherwise will run. Of course only, if know about any enemy (even with "spotDistance" skill equal to 1 distance, for which enemy may be spotted is not so big); - code fixes. Still AI-only... EDIT: trying to balance this such a way, so fencing skills will have real impact (swordmaster should be really dangerous for even several mediocre warriors). Should be great, if animations speed can be maded dependent on these skills (delay between attacks is), but not know, how to achieve such effect. Perhaps needed are several sets of animations, each set for given skill level. Give me a word, Icewidno, if you have any specific demands, what should be changed/improved/added. EDIT2: so there is rebalanced version. In this demo you can see one swordmaster and seven losers. Results are various, but sometimes master defeats all losers: FencingAIverC (corrected version uploaded - in previous there was screams of wounded instead of blades sounds :) ) This is maximal skill gradient. Master has all three important skills equal 1, losers = 0. Skills: - "aimingAccuracy" for hit chance; - "aimingSpeed" for block chance; - "endurance" - strength and speed - relevant for fatigue gain and resting rate, for intervals between strokes and for average hit value; the more fatigued, the less chance for hit and block, lesser average damage, and longer intervals... Now can be useful some "woosh" sounds and also "flesh hits/skull crunching" etc... Edited June 12, 2012 by Rydygier Share this post Link to post Share on other sites
icewindo 29 Posted June 12, 2012 Yes, M&B is quite unique. Had this game some years ago. For now, next version (this time battle is bigger): FencingAIverB - still wip What's new: - added sounds (by say3D, for better "surround" effect, also in description.ext added for each file new parameter for fading at reasonable distance (set to 200 meters). Wandering, if is possible to randomize somehow pitch of each shout sound for more audio diversity); - better balanced; - chance for hit/block dependent also on unit's damage; - experimental: after each hit chance for additional particle blood. Bigger chance and more blood for more damaged units and stronger hits (sometimes KillBill-like gore effect :) ); - experimental: fleeing and/or surrendering. When unit is wounded, there is a chance, that will panic and flee or will drop weapons and raise hands as captive. Captives will flee, if no non-captive enemy is nearby. Also implemented simple "crowd effect" - the more units in flee/captive, the more chance for other of this side to do same. Captives do not fight, but also usually aren't attacked (ransom was important profit source in Middle Ages, if I'm not mistaken); - not tested feature - if given units has assigned waypoint(s) and spot enemy en route, then waypoint will be not deleted, as before, but "suspended" for time of fight (or rather should be); - when distance is bigger than 100 meters or lesser than a few, then unit will move with limited speed, otherwise will run. Of course only, if know about any enemy (even with "spotDistance" skill equal to 1 distance, for which enemy may be spotted is not so big); - code fixes. Still AI-only... That's quite a list, amazing how you do it that fast - great job :) EDIT: trying to balance this such a way, so fencing skills will have real impact (swordmaster should be really dangerous for even several mediocre warriors). Should be great, if animations speed can be maded dependent on these skills (delay between attacks is), but not know, how to achieve such effect. Perhaps needed are several sets of animations, each set for given skill level. Yep different animations sound like a good idea, afaik there is no way to change the speed of animations ingame. The creation of the new animations is rather easy, we could copy and paste the animations and name them like e.g. this and pack them into a pbo using the config I posted earlier: class AmelPercMstpSnonWnonDnon_amaterUder3_high: AmelPercMstpSnonWnonDnon_amaterUder1 { ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; InterpolateTo[] = {"AdthPercMstpSnonWnonDnon_2",0.01,"AdthPercMstpSn onWnonDnon_3",0.01}; file = "\Ca\Anims\Characters\data\Anim\sdr\mel\erc\stp\no n\non\AmelPercMstpSnonWnonDnon_amaterUder3"; speed = 0.35; //speed = 0.223881; }; So this anim could be used if the unit had a high skill value and then another one for a medium level etc. Give me a word, Icewidno, if you have any specific demands, what should be changed/improved/added. I'm still baffled by all the things you created, it's really impressive stuff. As for the sounds (woosh, flesh hits), I allready had a look around but found no good free samples yet but I'll continue to search. The other samples are all by Rejenorst, I've just asked him via mail if he might have some samples for this purpose and if we could use them. http://www.rejenorst.com/sounds.html EDIT2: so there is rebalanced version. In this demo you can see one swordmaster and seven losers. Results are various, but sometimes master defeats all losers: FencingAIverC (corrected version uploaded - in previous there was injuried screams instead of blade's :) ) This is maximal skill gradient. Master has all three important skills equal 1, losers = 0. Skills: - "aimingAccuracy" for hit chance; - "aimingSpeed" for block chance; - "endurance" - strength and speed - relevant for fatigue gain and resting rate, for intervals between strokes and for average hit value; the more fatigued, the less chance for hit and block, lesser average damage, and longer intervals... Now can be useful some "woosh" sounds and also "flesh hits/skull crunching" etc... That's great stuff seeing the swordmaster fighting the other units off, I didn't think something like implementing different skill levels would be possible. Wow. Might have to check this out. If you are not aware of Mount&Blade Warband (game published by Taleworlds) you should definitely check it out Yep I also know it, it's a great game :) . Share this post Link to post Share on other sites
Rydygier 1309 Posted June 12, 2012 (edited) The creation of the new animations is rather easy, we could copy and paste the animations and name them like e.g. this and pack them into a pbo using the config I posted earlier:class AmelPercMstpSnonWnonDnon_amaterUder3_high: AmelPercMstpSnonWnonDnon_amaterUder1 { ConnectTo[] = {"AmovPercMstpSnonWnonDnon",0.02}; InterpolateTo[] = {"AdthPercMstpSnonWnonDnon_2",0.01,"AdthPercMst pSn onWnonDnon_3",0.01}; file = "\Ca\Anims\Characters\data\Anim\sdr\mel\erc\st p\no n\non\AmelPercMstpSnonWnonDnon_amaterUder3"; speed = 0.35; //speed = 0.223881; }; Have only a little experience with configs. This goes into description.ext like sounds and can be used only from pbo, unlike CfgSounds class or can be used same way in demo without pbo? And, for this exampe, I should put into my animations list array "AmelPercMstpSnonWnonDnon_amaterUder3_high", and then to use like: _unit playMove "AmelPercMstpSnonWnonDnon_amaterUder3_high"; right? Only speed value should be touched, or these other values (whatever they mean) too? EDIT: Now will make attempts to add melee ability for player, however I'm not sure, if this will work. Changed one little thing in last demo, so currently rate of strokes is higher, like was intended (problem was, that after each hit attacker was waiting for end of "I'm hit!" animation and pause, this issue is removed now, and difference is noticeable, fight is more dynamic and "realistic"): version D Added also some experimental code to prevent starting new "hit" animation, if enemy was again hit before end of previous hit animation, for better fluency. Edited June 13, 2012 by Rydygier Share this post Link to post Share on other sites
Rydygier 1309 Posted June 13, 2012 (edited) Added fencing ability for player (for some important reason has slightly lesser range, than AI) - attack by LMB click. For player apply usual limitations: chances for hit and block, delay between attacks, fatigue impact. To deal damage player must stand 3 or less meters from target facing towards it (+/- 25 degrees). Otherwise only stroke animation will be played and fatigue raised. I'm quite satisfied with the results of better synchronization of attack anim and all hit effects. In this demos there really is some nice feel of connection between stroke and hit. Last (?) things on my list will be diversification of anim speed dependent on skill and fatigue, more sounds and perhaps some efficiency improvements (still not tested with really big battle, afraid, that may occur sqf exec delays because of CPU cycle limitation, if so, then all this can be translated as fsm, I hope). Two files here: one for AI fencing, another for player fencing demonstration. version E EDIT: did some stress test with this version, results aren't too exact, but seems, that for my weak CPU limit is located somewhere between 60 and 120 simultanously fighting units. For 127 all still works, but can be noticed ugly delays in unit's response on situation and particle blood sources aren't removed on time, so looks weird hanged in the air. Some lagging also occured. For about 60 units there was not a sign of such delays. Noticed, that biggest delay impact is on this blood particles, even when "thin". With blood reasonable limit for my CPU is 60-70, without - a hundred units or more. Edited June 13, 2012 by Rydygier Share this post Link to post Share on other sites
icewindo 29 Posted June 13, 2012 (edited) Wow I just had a fight with crusaders and the latest version, it was a blast and the player combat works nicely too. Sick stuff Rydgier :bounce3: Yes for the anims to work you have to put them into a config.cpp and then create a pbo like this one: http://www.mediafire.com/?d8niina6hzt9ozf It uses this code (3 different animation speeds - SLOW, MEDIUM, HIGH for all 3 strike anims) : class CfgPatches { class animations_melee { units[]={}; weapons[]={}; requiredVersion = 1.00; requiredAddons[]={}; }; }; class CfgMovesBasic { class StandBase; }; class CfgMovesMaleSdr: CfgMovesBasic { class States { class AmovPercMstpSlowWrflDnon: StandBase { aiming = "headDefault"; aimingBody = "empty"; }; class AmovPercMstpSrasWrflDnon: AmovPercMstpSlowWrflDnon{}; class AmovPknlMstpSlowWrflDnon; class AmovPknlMstpSrasWrflDnon; class AmovPpneMstpSrasWrflDnon; class AmovPercMstpSlowWpstDnon; class AmovPercMstpSrasWpstDnon; class AmovPknlMstpSlowWpstDnon; class AmovPknlMstpSrasWpstDnon; class AmovPpneMstpSrasWpstDnon; class AmovPknlMstpSrasWlnrDnon; class AmovPercMstpSnonWnonDnon: StandBase{}; class AmovPknlMstpSnonWnonDnon; class AmovPpneMstpSnonWnonDnon; class AmelPercMstpSnonWnonDnon_amaterUder1; class AmelPercMstpSnonWnonDnon_amaterUder2; class AmelPercMstpSnonWnonDnon_amaterUder3; class AmelPercMstpSnonWnonDnon_amaterUder1_SLOW: AmelPercMstpSnonWnonDnon_amaterUder1 { speed = 0.25; //speed = 0.27027; }; class AmelPercMstpSnonWnonDnon_amaterUder2_SLOW: AmelPercMstpSnonWnonDnon_amaterUder2 { speed = 0.32; //speed = 0.348837; }; class AmelPercMstpSnonWnonDnon_amaterUder3_SLOW: AmelPercMstpSnonWnonDnon_amaterUder3 { speed = 0.20; //speed = 0.223881; }; class AmelPercMstpSnonWnonDnon_amaterUder1_MEDIUM: AmelPercMstpSnonWnonDnon_amaterUder1 { speed = 0.33; //speed = 0.27027; }; class AmelPercMstpSnonWnonDnon_amaterUder2_MEDIUM: AmelPercMstpSnonWnonDnon_amaterUder2 { speed = 0.4; //speed = 0.348837; }; class AmelPercMstpSnonWnonDnon_amaterUder3_MEDIUM: AmelPercMstpSnonWnonDnon_amaterUder3 { speed = 0.28; //speed = 0.223881; }; class AmelPercMstpSnonWnonDnon_amaterUder1_HIGH: AmelPercMstpSnonWnonDnon_amaterUder1 { speed = 0.38; //speed = 0.27027; }; class AmelPercMstpSnonWnonDnon_amaterUder2_HIGH: AmelPercMstpSnonWnonDnon_amaterUder2 { speed = 0.43; //speed = 0.348837; }; class AmelPercMstpSnonWnonDnon_amaterUder3_HIGH: AmelPercMstpSnonWnonDnon_amaterUder3 { speed = 0.31; //speed = 0.223881; }; }; }; class CfgGesturesMale { class Default{}; }; Edited June 13, 2012 by Icewindo Share this post Link to post Share on other sites
Rydygier 1309 Posted June 13, 2012 (edited) Blood particles slightly reworked for less "KillBill effect" and more diversity, diversed anim speed dependent on skill "endurance" and current fatigue. Package includes yours pbo in folders prepared for addon (now required): version F Next step - more sounds for miss and flesh/bone hit. I think, that tommorow will try to find something at soundBible.com - from there are almost all Rincewinder sounds. Licenses are mostly friendly, mostly only info about contribution is required. Considering also hit bonus for attacks from behind, but AI sometimes still refuses to turn towards enemy, so instead of direction knowledge factor may be used for calculating bonus of surprise attack, still, for such minimal distance knowledge almost always will be high, I think. Well, these are knights, no ninjas. :) Edited June 13, 2012 by Rydygier Share this post Link to post Share on other sites
Rydygier 1309 Posted June 14, 2012 (edited) Added some new sounds, not know, if all are acceptable. You can check this out. But fail to found any new battle "insults", pity, there is only four of them. Added "surprise attack" - when attacked "knowsAbout" attacker parameter is less than 3.9 (rare), then attacker has doubled chance for hit. In "Sounds" folder is located "lic.txt" file. Inside you can find info about used sounds: www origin, author, kind of license, original file name, name used in "Melee". All sounds not mentioned there are fully free and taken from: soundfxnow.com Limitation for player: player can attack enemy, that: is the closest one AND is in front of player. So if you attack enemy, that is in range, but behind you there is any closer enemy, then yours attacks will be futile. This matters in big battles. Melee G Well. This will be all, as for my plans (but maybe I'll figure out something more). Give me a word, if you have any other wishes, or if you discover any bugs to fix. I'm very glad, that I can help and have a humble participation in this project, this is really great fun. :) I look forward to see and use the complete addon. Edited June 14, 2012 by Rydygier Share this post Link to post Share on other sites
abs 2 Posted June 14, 2012 But fail to found any new battle "insults", pity, there is only four of them. I'm sure the community can help with this. There's a voice actors group you can check out....plus we can probably come up with some insults. Here's an old classic: May the fleas of a thousand camels infest your armpits! Abs Share this post Link to post Share on other sites
topas 1 Posted June 14, 2012 Yeah, classics.... :rolleyes: A8yjNbcKkNY Share this post Link to post Share on other sites
Rydygier 1309 Posted June 15, 2012 (edited) Icewindo has to decide here, but as for me, this insults should definitely be re-recorded by someone, and included in this mod. :) Flying cows should be easy to do via script. Edited June 15, 2012 by Rydygier Share this post Link to post Share on other sites
ProfTournesol 956 Posted June 15, 2012 I've got an outrrrrrrrageous French accent too, i can make French taunts :D Share this post Link to post Share on other sites
icewindo 29 Posted June 17, 2012 (edited) Added some new sounds, not know, if all are acceptable. You can check this out. But fail to found any new battle "insults", pity, there is only four of them. Added "surprise attack" - when attacked "knowsAbout" attacker parameter is less than 3.9 (rare), then attacker has doubled chance for hit. In "Sounds" folder is located "lic.txt" file. Inside you can find info about used sounds: www origin, author, kind of license, original file name, name used in "Melee". All sounds not mentioned there are fully free and taken from: soundfxnow.com Limitation for player: player can attack enemy, that: is the closest one AND is in front of player. So if you attack enemy, that is in range, but behind you there is any closer enemy, then yours attacks will be futile. This matters in big battles. Melee G Well. This will be all, as for my plans (but maybe I'll figure out something more). Give me a word, if you have any other wishes, or if you discover any bugs to fix. I'm very glad, that I can help and have a humble participation in this project, this is really great fun. :) I look forward to see and use the complete addon. Thanks alot for your work Rydygier, without the scripts there'd be no attacking knights, I couldn't have figured out how to script that advanced stuff in a years time :) . The new sounds you chose imo fit in just fine. Just two small feature requests: - can the ability to be taken prisoner be switched off by a global variable? sometimes there might be situations where you do not want to take prisoners - can you add a new script that enables melee damage for certain units, e.g. archers but that doesn't give them melee capability? right now archers don't take any damage when they don't call the script and if they call the script they won't use their bows As for the units and objects I'm currently restructuring the pbos and models since there really wasn't any order. For more voices I'd also like to include arab ones like these http://www.armaholic.com/page.php?id=6092, I'll ask Wolfrug if I can include them. Maybe the script can be enhanced so that the side of the unit is checked and the sound array for the taunts depends on the check? This way west units e.g. would say english taunts, indep. french :p and east arab taunts. edit: Here's a video using Rydygiers script edit2: And here some new unit variation - Ibelin heraldry :) - Knights Hospitaller to the left : http://i290.photobucket.com/albums/ll246/bla212/ibe01.jpg http://i290.photobucket.com/albums/ll246/bla212/ibe02.jpg Any other heraldry that'd be most desired? Edited June 17, 2012 by Icewindo Share this post Link to post Share on other sites
Rydygier 1309 Posted June 17, 2012 OK. Tommorow will think about these features. Should be possible. Choosing set of taunts by side/faction/class should be easy, just give me these taunts. :) Great video. First time saw true knights fighting with my script. Especially this fighting woman is a gem for me. :) There was times long ago, when I, hard to believe, really liked Xena-like TV series and such, so it is simply - the more fighting woman models, the more I'll be happy (if you someday will want to add some models - consider that as my vote about its kind :) ). Also because of Rincewinder - I have some ideas for storyline based on dangerous and deadly sword&sorcery woman. Share this post Link to post Share on other sites
Nicholas 5 Posted June 17, 2012 Why have I never seen this thread? This looks like it will be awesome! Share this post Link to post Share on other sites
Rydygier 1309 Posted June 18, 2012 (edited) So, needed features except taunts are implemented (two modes are now - passive and active, passive for archers, allows to receive melee damage with proper animations and so on, but without melee behaviour (movement and attack) - mostly added some needed setVariables), also two new config global variables, both true by default. One for fleeing behaviour, second for surrendering. But I need some info, if you do not want spawn melee code for each unit separate, by it's init field: a classnames of archers and melee warriors to automatically set proper code mode for given unit by isKindOf or typeOf. To test it will be useful newest version of models itself, unless this version, that you gave me in Rincewinder thread is sufficient (no important changes maded after it, especially in classnames). EDIT: Even better will be to use bow classname as primary weapon. For now gonna to use class from this older version. Or, more logical, to allow melee only, when in hand is proper sword/other melee weapon, but, at least in my version, swords aren't a weapon, but part of knight model... If this will be, then maybe only unarmed should have melee attack behavior? Edited June 18, 2012 by Rydygier Share this post Link to post Share on other sites
MissionCreep 12 Posted June 18, 2012 Here is an online curse generator: http://trevorstone.org/curse/ Here is a sample Thou roynish lily-livered minnow! Thou craven mad-bread moldwarp! Thou fobbing tickle-brained barnacle! Thou craven weather-bitten hedge-pig! Thou puny dismal-dreaming hempseed! Thou tottering motley-minded bugbear! Thou saucy rump-fed pigeon-egg! Thou currish mad-bread coxcomb! Thou fitful guts-griping bugbear! Thou weedy sour-faced pumpion! Its Elizabethan ... however, if you know your history, you would also know that "English" spoken in medieval days would be incomprehensible to us today. Also, a lot of the English nobility spoke Norman French and no English. Share this post Link to post Share on other sites
icewindo 29 Posted June 18, 2012 Why have I never seen this thread? This looks like it will be awesome! Well the thread was dead for 2 years so you are forgiven :p OK. Tommorow will think about these features. Should be possible. Choosing set of taunts by side/faction/class should be easy, just give me these taunts. :)Great video. First time saw true knights fighting with my script. Especially this fighting woman is a gem for me. :) There was times long ago, when I, hard to believe, really liked Xena-like TV series and such, so it is simply - the more fighting woman models, the more I'll be happy (if you someday will want to add some models - consider that as my vote about its kind :) ). Also because of Rincewinder - I have some ideas for storyline based on dangerous and deadly sword&sorcery woman. Yeah I watched that series too back in the days, Games of Thrones seems to be way more solid but I didn't get around watching it yet. Shouldn't be to hard to include an armored woman. So, needed features except taunts are implemented (two modes are now - passive and active, passive for archers, allows to receive melee damage with proper animations and so on, but without melee behaviour (movement and attack) - mostly added some needed setVariables), also two new config global variables, both true by default. One for fleeing behaviour, second for surrendering. Sounds great :) But I need some info, if you do not want spawn melee code for each unit separate, by it's init field: a classnames of archers and melee warriors to automatically set proper code mode for given unit by isKindOf or typeOf. To test it will be useful newest version of models itself, unless this version, that you gave me in Rincewinder thread is sufficient (no important changes maded after it, especially in classnames). EDIT: Even better will be to use bow classname as primary weapon. For now gonna to use class from this older version. Or, more logical, to allow melee only, when in hand is proper sword/other melee weapon, but, at least in my version, swords aren't a weapon, but part of knight model... If this will be, then maybe only unarmed should have melee attack behavior? Yep using classnames sounds look a good idea, the Knights have no weapon but it's part of their model, just like you said. I've not finished the new pbo yet so all models are loaded properly etc. but I've changed the classnames: "unarmed" with swords attached to the model) crumod_hosp_sword crumod_sara_scimitar crumod_ibe_sword crumod_woman_dagger Archers crumod_sara_archer crumod_archer_bow crumod_commoner_bow crumod_commoner2_bow Bows crumod_bow_saracen crumod_longbow @MissionCreep Fun stuff, I'd had to look up alot of words there. For the shakespeare stuff we had to read at school I bought bilingual books to spare me from that though. Share this post Link to post Share on other sites
Rydygier 1309 Posted June 19, 2012 (edited) Because swords are part of model, decided, that sword attack ability should be dependent on unit class, not held weaponry (so any new melee warrior model classes must be added to the script or into config array - see below). Here is such version: Melee Config variables: Melee_Flee (default true). If false, warriors will never run away. Melee_Captives (default true). If false, there will be no surrendering. Both affects always all units. Melee_Class (default []). Array for additional classes, that should have melee attack ability ("active" mode) - case-sensitive. Every unit, regardless of its class, should receive "passive" mode, means should properly respond on successful hit (damage, sound, animation, needed variables...). Note: untested Now only these taunts. :) Edited June 19, 2012 by Rydygier Share this post Link to post Share on other sites
dunnobe 10 Posted June 19, 2012 Icewindo have you seen the DayZ mod melee? You know what would be really cool? A cross-over between middle age (or a bit later, 18th century or so), DayZ survival aspects (eating, finding stuff) and Mount & Blade gameplay where people in large groups face each other. Also some RPG elements like crafting food or weapons, selling them, a monetairy system, character saving etc. Some gamemode set on a big map that you can explore and where clans hold castles or towns or some sort of territory and people fighting for it. I know i'm fantasising, but that could be a great experience. :) Share this post Link to post Share on other sites
Rydygier 1309 Posted June 19, 2012 Why these zombies are flying so high and so far? Is this magical axe or something? "Zombie Slayer" + 5? :) Share this post Link to post Share on other sites
dunnobe 10 Posted June 19, 2012 Hehe, well the hitting animation does look good to me. Share this post Link to post Share on other sites
Rydygier 1309 Posted June 19, 2012 Something like Catapult spell in Rincewinder... Share this post Link to post Share on other sites