Jump to content

Rydygier

Member
  • Content Count

    4805
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by Rydygier


  1. If they were important only objects with defined classes, then I would get along with filtering somehow. But what to do, when there is no defined class for some object (as ponds, plants, stuff...), that I could put into filter array one of near/nearest commands?

    I'm thinking about retrieving object's .p3d file (nearestObject without any filter could return for example something like that: "244581: b_betulahumilis.p3d" and then typeOf _nObj returns empty string, means - no class for that object, that may be used as filter), then to do some string comparison to determine, what is it, but: isn't there a better way, that to construct huge array of strings for each possible .p3d?

    ---------- Post added at 12:46 ---------- Previous post was at 12:24 ----------

    Maybe some example: currently I gonna to try this:

    	_nObj = nearestObjects [_pos, [], 50];
    _nObj2 = _nObj;
    _nR = _pos nearRoads 50;
    {if (_x in _nR) then {_nObj = _nObj - [_x]}} foreach _nObj2;
    _nObj = _nObj select 0;

    If it will work, then I'm able to sift out at least road segments. But to do same with other class-less objects, I would need eg nearPonds command for ponds etc...


  2. Thanks, I of course have read biki's info about this command (must be nearest, cause I need nearest one only). So I know, that I can filter out only some class (or multiple classes for similar commands), also with higer hierarchy. Also I know, that without filtering by class, all objects will be considered, even class-less (and this is needed, I'm also after class-less objects here). My question is - with what code I can filter out only some of class-less objects, and keep other class-less considered. Eg. I want to know about closest to _pos fences, walls, trees or bushes but not about ponds, insects, other (so must sift out rest of class-less objects somehow...),


  3. If I use for example:

    	_nObj = nearestObject _pos;

    This will return nearest object regardless of its class or lack of class (building, rabbit, tank, tree, unit, dragonfly, road segment...). Great. But how to achieve returning of a tree or bush object, but not road (or even certain kind of road segment, so nearRoads is only partial solution for roads segments) or fly? How to "sift out" only chosen part/kinds of class-less objects if possible at all?


  4. Thanks for ideas, really very interesting. About Hetman - some major changes/additions still awaits for my attention, some listed in the HAC's thread, one of biggest will be rewritting code according to new possesed scripitng knowledge to make it less messy, not so redundant (eg lately familiarized with functions enough to use it wider) and easier for furter maintaining. Also currently working on brand new field of view scanner, part of another project, that consideres also objects, not only terrain, and terrain should be considered better, with more complex manner - this also may be used in HAC, unless prove too heavy) - this rewritting may and probably will be a lot of work... Still awaits, because decided to use old, good blitzkrieg tactics in scripting - when encountered some harder challenge - do not sturm frontally, rather try to outflank by dealing meanwhile with secondary tasks, enhance knowledge and skill in side, but relevant matters, attack rear and sturm main problem only when will be completely surrounded by knowledge, weakened enough and cut off. :)

    All this of course as long, as real-life matters (work) allow me.


  5. This function, if I'm not mistaken, returns name of a spawned group, so if you use it eg this way:

    DT_group1 = [getPos aPos, EAST, 5] call BIS_fnc_spawnGroup

    Then global variable DT_group1 should contain spawned group name. You do not need nothing more, now you can try in the trigger's act field:

    {_x setDamage 1} foreach (units DT_group1);

    Same variable may be used in condition field, eg instead of default "true", something like:

    (((leader DT_group1) distance NameOfThisTrigger) < 50)


  6. During recent practice coding created some interesting in my opinion function, that allows to split a given square area (with any angle) to the selected number of square sub-sectors. Returned is nested array of locations, each for one sub-square and one separate for main location, that covers whole area. So, I'm thinking now, for what purpose this may prove useful? Any ideas? For now I had two/three:

    1. In fact not my idea - heard about something like that somewhere. This may be very handy for some AI scripting (eg for my Hetman, but also on lower level) - if to cover whole map with such created square locations, there will be possible to bound by setVariable many data with each sector - topographical, tactical, other... By using this sectors AI can now to decide, which path will be optimal for movement, what send where, where to go, and which areas should be avoided, to analyze enemy presence per sector, can recognize and refer to certain areas... In one word to process bounded with sectors data in many ways, in many situations;

    2. To make Arma (quasi)turn-based board game using map only, where real groups will become pieces, or only with markers - and here we have an practical example: crude, but playable chess on Utes map. You can choose piece by single click on it, next click will make this piece to move at closest square. For remove piece from chessboard - move it same way at one of circle markers. Script will not check correctness of the moves - any movement possible, all in the players' hands. Only HotSeat mode available, I'm afraid :). Chess AI is somewhere far beyond my skills. As pieces are used tactical markers... This of course can be applied to any map, also as hidden in action menu option, and used when there is nothing better to do, only boring & waiting, for example during the night watch...

    3. Can be maded some kind of cellular automaton, as "Langton's Ant" from my avatar, but - what for?


  7. HAC shouldn't interefere with addons, that do not mess with waypoints. Although I do not know much about how ASR code works. There was same problems with ASR without HETMAN? What specifically ASR should to do, and does it without HAC, but do not with it?

    What exactly use of flares you mean? Isn't such usage a part of micro management AI level?


  8. Or mana from loot, that is converted into mana energy in a special car or something... It is possible and should be quite easy. :) Mana harvest from anywhere into some shared pool instead of automatic regeneration is possible too. Or special static "antennas", that multiplies mana regeration rate around... Must to think. For now I'm very busy playing Arma for fun and stuff, but someday must to prepare some kind of mission/dynamic gameplay with Rincewinder...


  9. I did some testing, that is, played a game with this script, :) and noticed some problems, so added two things:

    - New action: "Stop Loot", for manually finish harvesting process, if neccessary - in such case team memebers will immediatelly return at their initail positions and re-arm with their stuff. If some is carying loot, then this loot will be dropped. However looting shouldn't be again acitvated before units pick up their stuff, otherwise they will be traeted as unarmed, and their stuff as loot to collect;

    - back-up code for "stuck" situations, eg when some body with loot can't be reach by looter or in some other, misterious for now, situations, when looter just stands still. Now, if looter remain static for longer, than minute beacuse of implemented waitUntils, then current waitUntil is ended (waitUntils are used to make script wait until unit finish its movement (is close enough) to corpse or cargo before loot transfer begins, if interrupted, then trasfer will occur at current distance, regardless, how big).

    Known issues:

    - mentioned "stuck issue" for uknown reason (probably movement ends (not know, why), before unit gets close enough to meet waitUntil condition) sometimes;

    - units with binoculars are troublemakers, because they have a habit to use binocular often, what makes them unavailable for a long while - especially, when unit haven't any other weapon. This is however game issue (feature?);

    - rarely happens, that after looting unit is going back at it's stuff position, but not pick it up. In such case TL must manually to order this unit to pick up this stuff (cause unknown).


  10. Laziness is the father of invention. Lately enjoyed one of those great missions, where part of player's activity is looting battlefields. Sometimes is annoying, when minutes passes on running between the next corpses and car trunk again, and again, while your subordinates all this time are only standing with fingers in their noses... So, I thought, why I, after all team leader, must to do this pretending to be a porter, if these lazy bastards should do it for me? Therefore created a little something, that make them busy with this task instead of me. Mostly for myself, but maybe this will prove useful also for someone else?

    Idea is simple. This script makes, that scattered around area goods go to vehicle's trunk. But not by any kind of miraculous "teleport", no. Player controlled team leader gets new option in action menu - "Loot". If there is no enemy nearby, is some vehicle nearby TL and there are some corpses or simply weapons on the ground (weapon holders) around, then this action will make yours subordinates to harvest for you all this loot into car nearest to yours position (exclude items, binoculars, laserdesignators and NV goggles). If its trunk fills up, rest of loot is placed around vehicle as weapon holders (so you can take away full vehicle and bring another empty car, and repeat order and so on). This is rather crude makeshift, for now only slightly tested, not 100% reliable, with place for many improvements, I'm sure.

    Notes:

    1. Looters are running around, but there is no used animations for collect and drop process, because noticed, that any animation usage makes script less reliable, somehow animations usually are troublemaking;

    2. When looting, radio confirmations are silenced, otherwise radio is spammed by running all the time here and there team members;

    3. Make sure, that it is safe before start loot procedure - this shouldn't be interrupted by other orders before end, also at start team members leave own equipment on the ground to make room for loot. Only when harvest is done, they will pick up their weapons back;

    4. It is not action-based, had random troubles with pickup/drop weapon/magazine actions, so decided to make own substitute from the scratch.

    Here is script inside simpe demo and pbo addon (needs CBA), that makes this feature available for any mission, enjoy:

    ALH

    (in demo script version is activated by Juliet radio channel (0-0-0), if used with pbo version, "Loot" option will be available at start)


  11. Also prepared something (script tested - works fine. Both points placed on nearby road, truck is spawned at first point and going to second town):

    /// get town locations
    _towns = nearestLocations [getPosATL player, ["NameVillage","NameCity","NameCityCapital"], 25000];
    
    ///start location spawn point
    _pos1 = position (_towns select (floor (random (count _towns))));
    
    _RandomTownPosition1 = [_pos1 select 0,_pos1 select 1,0];
    
    _nRoads = _RandomTownPosition1 nearRoads 10;
    
    _rng = 10;
    
    while {((count _nRoads) == 0)} do
    {
    _rng = _rng * 2;
    _nRoads = _RandomTownPosition1 nearRoads _rng;
    };
    
    _RandomTownPosition1 = position (_nRoads select (floor (random (count _nRoads))));
    
    /// convoy end destination
    
    _towns = nearestLocations [_RandomTownPosition1, ["NameVillage","NameCity","NameCityCapital"], 25000];
    
    _RandomTownPosition2 = _RandomTownPosition1;
    
    {
    if (((position _x) distance _RandomTownPosition2) > 1000) exitwith  {_RandomTownPosition2 = [(position _x) select 0,(position _x) select 1,0]}
    }
    foreach _towns;
    
    _nRoads = _RandomTownPosition2 nearRoads 10;
    
    _rng = 10;
    
    while {((count _nRoads) == 0)} do
    {
    _rng = _rng * 2;
    _nRoads = _RandomTownPosition2 nearRoads _rng;
    };
    
    _RandomTownPosition2 = position (_nRoads select (floor (random (count _nRoads))));
    
    ///spawn vehicle   // need to work out how to put them on a road/////
    
    _v1 = [_RandomTownPosition1, 001, "Ural_INS", east] call bis_fnc_spawnvehicle;
    
    _grp = _v1 select 2;
    
    ////add waypoints
    _wp1 = _grp addWaypoint [_RandomTownPosition2, 1];
    _wp1 setWaypointType "MOVE";
    _wp1 setWaypointSpeed "FULL";
    
    //un-comment below for testing markers
    /*
    _i = "mark1" + (str (random 1000));
    _i = createMarker [_i,_RandomTownPosition1];
    _i setMarkerColor "ColorRed";
    _i setMarkerShape "ICON";
    _i setMarkerType "DOT";
    _i setMarkerText "StartPoint";
    
    _i2 = "mark2" + (str (random 1000));
    _i2 = createMarker [_i2,_RandomTownPosition2];
    _i2 setMarkerColor "ColorRed";
    _i2 setMarkerShape "ICON";
    _i2 setMarkerType "DOT";
    _i2 setMarkerText "EndPoint";
    

    Sorting by distance not neccessary indeed, because array from nearestLocations is already sorted such way, so is sufficient to get again list of towns, this time around first town position.

    You do not need more waypoints (BTW pity, because script responding to last question may be very interesting - it is about finding best route between two points), only if end point will be far away, then will take some seconds, before truck finish to calculate route (exactly, interesting, how this is calculated by game engine?). Waypoint wasn't working, because _v1 is here an array, and name of group needed for addWaypoint is third element of this array. Corrected this.


  12. Hi.

    Here is my "path" from sqs to sqf:

    http://forums.bistudio.com/showthread.php?126492-SQS-to-SQF-quot-translation-quot-request-field-of-view-scanner

    As you can see it depends mostly on your perseverance and persistence. There is no "quick and easy" substitute for self-learning through practice. Step by step is best way, I think. Differences however aren't so big between sqs and sqf...

    Shortly described here: SQS_to_SQF_conversion

    But you will probably discover also other diferences.

    BTW of course is possible sqf code, that doing same without function module. As for initial sqs: perhaps also _pos shouldn't be in quotes? Not sure at the moment. Never used markers for such purposes, I prefer eg empty triggers instead, as they are objects, so you can do more interesting things with them.


  13. Handy pdf, indeed. But to use it its content must be transformed into huge array with all classes and numbers and then code can look for type of tested vehicle in this array to check bounded with given type number... Possible, but impractical.

    Although, I see, one question is answered: _veh is sufficient as "Thing". Thanks. Oh. And this config viewer may be very helpful too.


  14. Many questions in short time appeared in my head...

    Somehow I've never used getNumber command and such till today. Now I have a reason, but haven't sufficient knowledge about syntax. I need to store in ordinary, local script variables, both, capacity of any vehicle with cargo space, and "capacity cost" of any weapon/magazine/item (space for weapon and magazines are separated, or this is same pool? What with other items?) to know, if there is enough space in a trunk for given stuff. What sqf code will do this for me? BIKI's example for getNumber is not quite sufficient for me. I suppose, that needed code will be similar:

    _value = getNumber (configFile >> "CfgVehicles" >> "Thing" >> "maxSpeed")

    But what should be inputed instead of "Thing"? Variable refering to vehicle object will be sufficient (_vehicle)? What names have relevant entries (what instead of "maxSpeed" to get capacity and cost)? Also what insted of "CfgVehicles" (if not same) for retrieving cost of weapons/magazines/items? And how can I in the future posses such info about paths for other certain entries, if needed?


  15. Wow! Medieval models! Downloading... I really miss them here! Thanks, man. So now, if someone prefers, may fit also BM look... Or stay with modern troops, if he like absurd contrasts :)

    Also this may be used for summon spells perhaps.

    ---------- Post added at 16:32 ---------- Previous post was at 16:21 ----------

    Hmm. Where I can find "DSF_SGUNIT" addon? Is needed, according to error message, that appeared to me.


  16. Perhaps try something like:

    _towns = nearestLocations [getPosATL player, ["NameVillage","NameCity","NameCityCapital"], 25000];
    
    _RandomTownPosition = position (_towns select (floor (random (count _towns))));
    
    //optional also for more randomization:
    
    _posX = (_RandomTownPosition select 0) + (random 200) - (random 200);
    _posY = (_RandomTownPosition select 1) + (random 200) - (random 200);
    
    _MoreRandomTownPosition = [_posX,_posY,0];


  17. Great effect with simple code - best thing imaginable in scripting. Lately tested many illumination codes for magick effects, and noticed, that unfortunatelly, if you want to see light from bigger distance, you must to make it brighter. Often much brighter. Light of given brightness seems to disappear at given distance rapidly, not smoothly (?). For used here levels of brightness - rather small chance to see illuminated city from distant position. If I'm not mistaken, of course. Range of view in video options probably will affect this.


  18. What about a levelling system (have to gain so many kills to get a certain spell) OR perhaps have it as random drops on a body (OOOOH I like that one!).

    There is levelling system (experience grows with each spell usage, as should be), mana (and mana sources on map, that gives good opportunity for some kind of battlemages wars around this places) and of course many particle effects (see gallery for some). All described. :) Finding/buying spells is possible to implement in many ways, currently new spells comes automatically with new levels.


  19. RINCEWINDER



    Combat Effective Magick System

    version: 0.53 beta

    Changelog

    v. 0.53 beta:

    - fixed bug: mages never lost "near mana source" status.

    v. 0.52 beta:

    - fixed bug with "swimming in the air" when teleport spell is used in the water;

    - slightly rebalanced AI spell usage of 1st level (less teleporting, more icestorming);

    - added two new init config arrays: spell blacklists for AI and for player;

    - updated manual content.

    v. 0.51 beta:

    - fixed bug with not available player's spells in "Lost" mission caused by switching player's body in newest versions of this mission.

    v. 0.5 beta:

    - code fixes;

    - addon version;

    - fourth, "Lost" mode dedicated to great "Lost" mission by markb50k but also for any other dynamic SP with (de)caching (where groups aren't constantly present on map) etc.;

    - new, optional, BM's death effects including mana explosion and experience gain for nearby BMs;

    - new demo;

    - pdf manual (read for details).

    Initially this was only a stupid idea, that became practicing of scripting opportunity, mostly particle effects, lights, animations, spawns, functions and some very simply AI routines. And now, suddenly – here you go:

    Rincewinder 0.53 beta (ArmaHolic)

    Rincewinder 0.53 beta (ZippyShare)

    Rincewinder 0.52 beta (ZippyShare)

    Rincewinder 0.51 beta (ZippyShare)

    Rincewinder 0.5 beta (ZippyShare)

    Epilepsy warning - possibility of flickering lights in nigth battles

    What is this, in the name of Merlin?

    Technically this is just a couple of sqf scripts plus some sounds.

    Great. But what this is doing, on Middle-Earth?

    This is small, but quite spectacular overlay for Arma, that introduces magic into battlefield. Magic is strange, is irrational, is beautiful, powerful, chaotic and deadly. Now you can check, what is better - 155 mm howitzer battery or meteor shower spell. M1A2 platoon or summoned Fire Elemental? Does a dragon has a chance in the face of Shilka? Magic is a new power in war, but it has its disadvantages and is sometimes capricious. Will not make normal weaponry/warfare obsolete. May be considered as addition, nothing more. First, enchanting makes battlemage very vulnerable – is fully concentraded on incantation, and in this time can’t do anything else. Moreover all spells must be invoked upright and takes sometimes long seconds. Finally, side effect of each spell are emanations of the residual energy, means light, so battlemage is a target very easy to spot and hit, and must be well guarded when witching.



    To be more specific...

    1. For the Morrigan’s black hair! What I need to play with this?

    Pure Arma 2 probably is sufficient, with some exceptions, but this was tested only on OA 1.60 for now. No other mods/addons required, scripts contains all used functions. Suggested is at least good video card, cause battles, especially night battles with more than few mages involved, are “visually intensiveâ€, and this may cost many FPS. Faced with the choice, usually chose the effect at the cost of GPU load.

    2. Crom! Is this MP compatibile?

    I don’t know. Probably not all will work as should, because there is wide variety of command in use, so most likely at least some of them may cause locality issues. If you want, there is no problem, anybody can do with this code, whatever he want (with exception of sound files, see below), so you can make it 100% MP-useable if you know how…

    3. Is this stable and reliable then?

    This is still beta release, so there are expected some problems (bug reporting very appreciated). Known issue: some particle effects no always works, as intended. This goes mostly for death effect.

    4. Exact content:

    - 22 combat effective spells with mage’s gestures, sounds, lights&mirrors, smoke and colours. Explore “Spellbook†chapter below for details;

    - small collection of auxiliary functions, mostly written by me, some specialized, some may prove handy for various scripting situations: simply angle finder, finder of position between two positions/objects in given distance from one of them, vectorUp/vectorDir value finder, generator of random positions around given position, generator of random velocity vectors, generator of random unit’s movement around; followers maker, simply, customizable spawners for units and vehicles, highly customizable random patrol generator – this kind of magick is also here;

    - integrated overlay that works in four modes, for determining, who on map become a mage. See manual for details.

    This overlay also uses present on map (or added by mission maker) village, city, hill, and all kinds of forest locations as “mana sourcesâ€.

    Last element of this overlay is simply AI routine for battlemages, so here is not only for players. AI mage will engage spotted enemy with semi-randomized spells, in optional, autonomic mode, will also try to reach some of the nearest mana sources and defend this area in active manner (combat patrol around such point, previously added waypoints will be most likely removed). Battlemages still simultaneously doing normal soldier stuff – firing, engaging, fleeing and so on. Except waypoints in “autonomic†mode and maybe visual effects, overaly should be compatibile with any other mod/addon.

    Installation and Initialization

    Installing of addon version: @Rincewinder folder goes, where all other addon you have stored, RYD_RCW folder goes to userconfig folder in yours Arma2 folder. This version needs CBA.

    Installing of script version: all content of Script version folder put into yours mission folder (see also demo mission for practical example).

    Initialization details are included in new manual. Generally addon is, as usual, auto-activated via CBA, script version need nul = [] execVM "RCWInit.sqf"; line in init.sqf or init field of any editor-placed object. In manual you can also find info about init config for both versions.

    How it works?

    1. Spells cost mana. Mana capacity is equal 100 * level. Each BM automatically gets mana from the environment, so its resources constantly regenerates. However this is very slow process, with non-linear rate – the more mana, the slower regeneration. Regeneration is much faster near so called “mana sources†– villages, cities, hilltops, forests and any added by mission maker locations of this types. Rate of regeneration increases with BM’s level. Mana sources aren’t marked in any way except normal map markings for locations, however player BM knows (by hint info) when is in mana source’s range;

    2. The higher BM’s level, the lesser mana cost for each spell. Also, for AI, the wider engaging radius (in cerain limits of course);

    3. Each casted spell gives to BM one Practice point. This is simply “experience†factor. When reach given amount – next level is achieved;

    4. Additionally each usage of spell gives one “Specialization†point. Its kind is dependent on kind of casted spell. The bigger practice in given kind of magick, the bigger effect of the spells of that kind. This include bigger numbers, longer lasting, better accuracy, wider range and so on;

    3. Available spells are dependent on BM level. Above fifth level all are available;

    4. Some spells obviously needs chosen target. For player this target will become unit/vehicle currently pointed with weapon cursor, so probably player’s BM should be armed (not sure);

    5. AI BMs are fully “automatedâ€. As for players – they receive all currently available spells into their action menu. Receives also info about near mana source and achieved new level. Also there is “Mage’s Status†action, which gives with game pause info about actual BM’s statistics – level, mana, experience, specialities, and status – if he is witching at the moment and if is he near mana source currently;

    6. Sometimes spell may fail or effect may be unexpected. Well. These are “the charms of magicâ€;

    7. it is possible for mission maker to cast chosen spell directly, without activating overlay, by script. For this purpose should be used such code:

    call compile preprocessfile "AuxF.sqf";
    call compile preprocessfile "SpellBook.sqf";
    call compile preprocessfile "Visual.sqf";
    
    [source,Target,Spec] spawn  SpellName

    Where:

    SpellName
    - it is name of spell function, that may be found in Spellbook (DCN);

    Source
    – spell caster;

    Target
    – is object, if applicable;

    Spec
    – positive integer. Bigger value means more powerful spell effect. Nominal value is 1, and noticeable difference may be achieved sometimes with about 50, sometimes 100 and above.

    Spellbook

    Level 1

    “Awareness†– reveals with maximum value all units on map (needed OA 1.60 for that), signs for 30 seconds with vertical particles positions of leaders of nearby groups – blue for allies (including BM!) yellow for civilian and red for enemy.

    ACT (App. casting time, how long BM is concentrated, but effect may occur sooner) – 5 seconds;

    Mana cost – 20;

    Specialization – manipulation;

    Target – no;

    DCN (direct casting name) – RYDMGCK_CLAIRVOYANT

    “Ice Storm†– BM spreads fountain-like numerous ice-spikes, that explodes on ground around him.

    ACT – 10 seconds;

    Mana cost – 40;

    Specialization – channeling;

    Target – no;

    DCN - RYDMGCK_ICESTORM

    “Bullet Resistance†– gives BM insensitivity to conventional damage for at least 40 seconds.

    ACT – 11 seconds;

    Mana cost – 40;

    Target – no;

    Specialization – manipulation

    Target – no;

    DCN - RYDMGCK_SHIELD

    “Sky-Candle†– creates several (at least 20) floating and moving randomly light points around BM. Life of such point varies around 1 minute.

    ACT – 7 seconds;

    Mana cost – 10;

    Specialization – channeling;

    Target – no;

    DCN - RYDMGCK_SKYCANDLE

    „Random Dislocation†– relocates randomly all units and vehicles (including BM) in at least 250 meters radius around BM.

    ACT – 4 seconds;

    Mana cost – 50;

    Specialization – manipulation;

    Target – no;

    DCN - RYDMGCK_TELEPORT

    Level 2

    “Dragon Wing†– BM generates impact wave around him, which push out all units and vehicles nearby (radius at least 100 meters). The closer unit, the stronger push. May cause kinetic damage or death due to impact.

    ACT – 1 second;

    Mana cost – 80;

    Specialization – manipulation;

    Target – no;

    DCN - RYDMGCK_DRAGONSCRY

    “Freeze†– Freezes all units, regardless of side, exclude BM, in radius at least 30 meters around target for at least 15 seconds.

    ACT – 1 second;

    Mana cost – 100;

    Specialization – manipulation;

    Target – yes;

    CR (casting range) – at least 300 meters;

    DCN - RYDMGCK_FREEZE

    “Invisibility†– makes BM invisible and invulnerable on direct hits for At least 30 seconds (probably still may be injured/killed by explosion blast wave).

    ACT – 5 seconds;

    Mana cost – 80;

    Specialization – manipulation;

    Target – no;

    DCN - RYDMGCK_INVISIBILITY

    Level 3

    “Catapult†– Pushes chosen target sky high… usually. Sometimes push may be weak however. May cause kinetic damage and probably will kill target because of falling from great height.

    ACT – 1 second;

    Mana cost – 120;

    Specialization – manipulation;

    Target – yes;

    CR – at least 300 meters;

    DCN - RYDMGCK_CATAPULT

    “Incompetence Curse†– Reduces all parameters of units nearby target (include crews of vehicles, regardless of side, exclude BM) to 0, and makes them cowards. Note, that previous values aren’t restored, but randomized after spell expiration, so this is spell with permanent side-effect. Minimal radius – 50 meters. Duration – at least 2 minutes;

    ACT – 10 seconds;

    Mana cost – 120;

    Specialization – manipulation;

    Target – yes;

    CR – at least 300 meters;

    DCN - RYDMGCK_CURSE

    “Fireball†– BM creates and throws at target ball of fire, that explode near target, on impact or after given life-time (max range about 350 meters?). Accuracy depends on channeling specialization level. Fireball causes massive damage around explosion point.

    ACT – 4 seconds;

    Mana cost – 150;

    Specialization – channeling;

    Target – yes;

    CR – at least 300 meters;

    DCN - RYDMGCK_FIREBALL

    “Airlift†– modern version of witch-style classic spell. BM creates a flying mop, and flies on it to chosen destination. AI will use this for random evacuation/relocation. For players – after creating mop player must to click LMB on map at desired position (and wait a second just after that before turn off map for sure, that point was registered (compass will change azimuth)). During fly player can shoot, but only ahead. After landing mop disappears. Proper position during fly should be kneeling for visual effect.

    ACT – varies. At least 6 seconds before takeoff;

    Mana cost – 150;

    Specialization – summoning;

    Target – special (position);

    CR – for AI at least 1200 meters, for players - unlimited;

    DCN - RYDMGCK_FLYINGCARPET

    “Life Drain†– BM creates “a bridge†between him and units near (at least 30 meters) target (regardless of side, exclude BM). Then reduces their health and heal himself with small part of taken vital strenght. BM can’t do anything else during the process, and is levitating. Target’s behavior isn’t affected. Often fails, because it is hard to create such draining bridge. Rather impractical against enemy, unless preceded by “Bullet resistanceâ€, but may be used to auto-heal when combined with some summoning spells. Not works with animals nor vehicles.

    ACT – varies. Usually 15-25 seconds;

    Mana cost – 180;

    Specialization – manipulation;

    Target – yes;

    CR – at least 300 meters;

    DCN - RYDMGCK_LIFEDRAIN

    “Summon Elf†– BM summons an elven ally – elite archer of elfish Forest Guard Sentry. As all summoned creatures, elf is out of direct BM’s control, and will patrol surroundings on its own until alive, 5 – 8 minutes, then will disappear.

    ACT – 5 seconds;

    Mana cost – 150;

    Specialization – summoning;

    Target – no;

    DCN - RYDMGCK_SUMMONELF

    Level 4

    “Chicken Curse†– BM transmute part of units near target (in at least 30 meters radius, regardless of side, exclude BM) into chickens, that will explode after some seconds. Deadly arcymage’s “joke†adapted for battlefield.

    ACT – 12 seconds;

    Mana cost – 250;

    Specialization – manipulation;

    Target – yes;

    CR – at least 200 meters;

    DCN - RYDMGCK_CHICKENCURSE

    “Madness†– BM makes part of units surrounding target mad (radius 50 meters, exclude BM and his allies, unless there is no enemy target, then allies will be affected) for at least 10 seconds. They will attack all known unit. This dangerous spell often disables targeted group permanently.

    ACT – 12 seconds;

    Mana cost – 250;

    Specialization – manipulation;

    Target – yes;

    CR – at least 200 meters;

    DCN - RYDMGCK_MADNESS

    “Summon Orcs†– BM summons band of filthy orcs, mediocre warriors, but brutal and often well armed. Such band is out of BM’s control and will patrol surrounding area by 5 – 8 minutes, then disappear.

    ACT – 5 seconds;

    Mana cost – 200;

    Specialization – summoning;

    Target – no;

    DCN - RYDMGCK_SUMMONORCS

    Level 5

    “Rabbids†– BM summons group of rabid rabbits, that would follow one of present in 500 meters radius enemy unit or vehicle, and will explode when close enough. Each of this “rabbids†will also explode when passes given time, 2-3 minutes. Target for each “rabbid†is chosen randomly. Note, that when there is no enemy in radius, may be attacked any unit or vehicle exclude BM.

    ACT – 5 – 10 seconds;

    Mana cost – 300;

    Specialization – summoning;

    Target – no;

    DCN - RYDMGCK_MADRABBITS

    “Summon Earth Elemental†– BM summons mighty (less or more) earth elemental, that will be out of BM’s control and will patrol area for 5-8 minutes, then disappear. This kind of elemental is very dangerous and hard to kill, but this is possible to defeat him.

    ACT – 5 seconds;

    Mana cost – 350;

    Specialization – summoning;

    Target – no;

    DCN - RYDMGCK_SUMMONEARTHELEMENTAL

    “Summon Fire Elemental†– BM summons fire elemental, that will be out of BM’s control and will wandering randomly across area for 2-4 minutes, then disappear. Nearly only thing to do with this monster is to avoid it, because is bulletproof and probably can’t be killed. Fire elemental is very hot, and deals constant damage from fire to nearby units and vehicles. The close to elemental the bigger damage. Safe distance is about 100 meters, so this creature will be summoned farer form BM, than others. Will die in sea water.

    ACT – 5 seconds;

    Mana cost – 400;

    Specialization – summoning;

    Target – no;

    DCN - RYDMGCK_SUMMONFIREELEMENTAL

    Level 6

    “Summon Dragon†– BM summons powerful dragon, that will be out of BM’s control and will patrol area for 5-8 minutes, then disappear. Dragons are very dangerous, but may be killed with proper weapon, best will be AA weaponry.

    ACT – 5 seconds;

    Mana cost – 450;

    Specialization – summoning;

    Target – no;

    DCN - RYDMGCK_SUMMONDRAGON

    “Meteor Shower†– BM creates several meteor-shaped drops of energy, that fall down from above in 500 meters radius around like meteors do. Each drop cause very massive damage around. This is extremely devastating, but also unpredictable spell, because BM’s and his allies surrounding isn’t excluded. Use with extra causion or with extra desperation.

    ACT – 5 seconds;

    Mana cost – 500;

    Specialization – channeling;

    Target – no;

    DCN - RYDMGCK_METEORSHOWER

    Magic Art Gallery

    License note about used sounds:

    Used sounds was dowloaded mostly from:

    http://soundbible.com/

    Some also from other similar sources of free samples.

    Except listed below, these files are covered by public domain or similar license.

    Attribution 3.0 license sounds:

    Electricity, Chamber Decompressing, Dragon Roaring, Fireball, Suction, Magical, Dinosaur roar, Roaring Lion,Crystal Glass, Evil laughs, Temple Bell Huge, Shooting Star, Fire Crackers, Evil laugh, Swords collide, Strange Days – recorded by Mike Koenig;

    Heart Beat Sound – recorded by Zarabadeu;

    Catapult by BlastWaveFX.com;

    Explosion Ultra Bass recorded by Mark DiAngelo;

    Sampling Plus 1.0 license sounds:

    monster growl recorded by thecheeseman;

    mountain lion recorded by wrzesien;

    Noncommercial 3.0 license sounds:

    Brush Fire Sound - recorded by Stephan Schutze;

    Giant Monster – recorded by Doberman.

    Authors of these sounds do not endorse nor support this project in any way.

    • Like 1

  20. Same says BIKI. SwitchMove ""; should reset animation to default. Did more test and here is new info: first option of interrupt gives exactly described effect. Second, tried this time with armed guy, makes, that my avatar can turn, aim and fire (also reload), but can't move nor change stance. Not sure, if this affects also AI units. Hard to test at the moment.

    EDIT: probably solved: problem occured with this:

    player switchMove "c7a_bravo_ErcTOdovadeni1";
    player playMove "c7a_bravo_dovadeni1";
    sleep 5;
    
    _player switchMove ""; //or player switchMove "c7a_bravo_dovadeni1TOerc";  
    
    

    (interrupt after doubled animation). When first or second line is removed, problem is gone... :)

×