[A12d] Soulkata Mods, less butcher Ant Meat

Started by soulkata, September 01, 2015, 06:38:39 AM

Previous topic - Next topic

soulkata

Hi folks! Long time no see! Thanks to TheGentlmen, who converted the AbilityPask to the latest Release!

Mod List

A12d Ability Pack Tool that helps modders to add special abilities on their Pawns.
A12d Alien Ants Faction New faction of nasty Alien Ants.
A10 Mecha Tanks - Add a new tank unit to the pirates faction.
A12 Faction Gauntlet Tool used to measure the faction Ballance, or just see enemies fighting themselves!

Source Control
www.github.com/soulkata/rimworld

soulkata

#1
ABILITY PACK

Description:
This is a tool mod. It's allow other mods create pawns with unique abilities, like spawning new units, regenerate itself or even revive corpses... and much more!



Sample Mods
With the Mod itself, the download contains some samples, these samples are for ability tests purposes only, and are very unbalanced:

  * AbilityDemoSpawn: Adds a Muffalo that keeps spawning snakes and rabbits;
  * AbilityDemoNecromant: Adds Muffalo that revives any pawns and make them their allies;
  * AbilityDemoRegen: Adds a Muffalo that heals itself;
  * AbilityDemoRessurect: Adds a Muffalo that comes from the deads 3 times;
  * AbilityDemoEvolve: Adds a Rabbit that turns itself into a Muffalo;
  * More will be added soon!

Changelog & Download
Quote
--------------------------------------------------------
Release 03.001 (01/09/2015)  (Source)  (Demos)
--------------------------------------------------------
* A12d changes;
* Use code provided by TheGentlmen.

--------------------------------------------------------
Release 02.002 (23/04/2015)
--------------------------------------------------------
* Minor changes;

--------------------------------------------------------
Release 02.001 (16/04/2015)
--------------------------------------------------------
* Fixed a small bug on Mote Destroy;

--------------------------------------------------------
Release 02.000 (15/04/2015)
--------------------------------------------------------
* Alpha 10 update;
* Add 'AbilityRequeriment_RandomChance' requeriment;
* Add 'AbilityRequeriment_SquadSmallerThanColony' requeriment;

--------------------------------------------------------
Release 01.000 (28/03/2015)
--------------------------------------------------------
* Added motes Support;
* Removed the effect 'AbilityEffect_MakeCorpseProvideCover';

--------------------------------------------------------
Release 00.004
--------------------------------------------------------
* Added the mod Mecha Tanks;
* Created the requeriment 'AbilityRequeriment_True'
* Created the effect 'AbilityEffect_MakeCorpseProvideCover';

--------------------------------------------------------
Release 00.003
--------------------------------------------------------
* Added the mod Alien Ants;
* Created the 'validity' contraint, in order to hide unwanted habilities;
* Created the requeriments 'AbilityRequeriment_ColonyBiggerThan', 'AbilityRequeriment_CasterConscious', 'AbilityRequeriment_CasterDead' and 'AbilityRequeriment_CasterDowned'
* Created the targets 'AbilityTarget_SquadMembers' and 'AbilityTarget_Race';

--------------------------------------------------------
Release 00.002
--------------------------------------------------------
* Created an english translation;
* Renamed the 'Revive' sample to 'Necromancy';
* Created the 'Ressurect' sample;
* Allowed to the pawns to execute habilities while Downed or Dead;
* Created the 'AbilityEffect_Evolve' effect;
* Created the 'Evolve' sample;


--------------------------------------------------------
Initial Release
--------------------------------------------------------


Contributing & Requests
Any idea / contribution will be much appreciated!

Making my own Habilities:
Currently, for you to make a Pawn that has skills, you need to put in the Pawn ThinkTree a call to perform the skills. Below is a sample ThingDefs of the pawn print screen:


Or, if you prefer, you can create your own think tree and add the job to perform the skill, as below:


I will be working to remove the ThinkTree requeriment...


How to install:
- Unzip the contents and place them in your RimWorld/Mods folder.
- Activate the mod in the mod menu in the game.
- Create a new world and a new game.

Documentation
There 2 kinds of 'Defs', 'AbilityDefs' and 'ManaDefs'. The 'AbilityDefs' says which ability each pawn have, and the 'ManaDefs' says how each pawn gains mana.

ManaDefs
The mana determine how the pawn gains mana. Below a documented sample. Look in 'AbilityDemoSpawn' to a documented sample.

AbilityDefs
The AbilityDefs determines what the pawn can make. For as ability to be executed, it must meet the following requirements:
  1) To be valid. Ability have a 'validity' property, which determines whether they are classified as valid. A invalid ability does not run, does not appear in the abilities tab and the time since the last execution is not updated.
  2) Go through the requirements. Like 'validity', 'requeriment' is a condition that must be meet for the ability to perform. The difference between them is that while the validity hides the invalid abilities, the requeriment just does not execute them.
  3) Have the highest priority. If there are two abilities that are valid, the priority is the tie-breaker. Only the ability with the highest priority is executed.
  4) Choose legal targets. Some effects require targets to run, and if it is not on a valid target, the ability is not performed.

Validity and Requirement properties
Validities and Requirements are conditions that must be accepted to the ability execute. The difference between them is that while the validity hides the invalid abilities, the requeriment just does not execute them. Below a list of the current implemented conditions.

AbilityRequeriment_ExecutedTimes This requirement, limits the total number of times that the ability is executed. Its uses the 'limit' property to do so.
AbilityRequeriment_ManaAbove The ability only will be executed if the Pawn have more mana than the 'value' property.
AbilityRequeriment_ManaBelow The ability only will be executed if the Pawn have less mana than the 'value' property.
AbilityRequeriment_TimeFixed This blocks the ability execution a fixed time, in ticks, between each execution. The time passed is the 'value' property.
AbilityRequeriment_TimeChangind This blocks the ability execution to a time dependent function, the first time, the time requirement is in 'initial' property. Every subsequent ability execution changes the 'initial' property by the value of the 'between' property (between greater than zero to increase time function, and less than zero to make the ability be cast mor often). The 'minimum' and 'maximum' values restinges the time amount.
AbilityRequeriment_CasterConscious Returns true if the caster is not dead or downed.
AbilityRequeriment_CasterDead Returns true if the caster is dead.
AbilityRequeriment_CasterDowned Returns true if the caster is downed.
AbilityRequeriment_ColonyBiggerThan This requirement check the size of the treat that the colony can handle. It's uses the 'value' property.
AbilityRequeriment_True This is simple true requeriment, to be placed as filler.
AbilityRequeriment_All This is a container requirement, its groups other requirements in the 'items' property, and only returns true if all inner requirements are meet.
AbilityRequeriment_Any This is a container requirement, its groups other requirements in the 'items' property, and returns true if at least one of the inner requirements are meet.
AbilityRequeriment_RandomChance Used to make abilities not being started at exact times.
AbilityRequeriment_SquadSmallerThanColony Compares the quad size with the colony size.

Priority
If more than one ability pass the requirements, the system must choose which ability will be executed. Priority do that. Greatest priority will be chosen.

AbilityPriority_Fixed This is a fixed priority. The priority is in the 'value' property.

Target
Some abilities require valid targets to be executed. The targets are evaluated before the start of the ability.

AbilityTarget_Take The take target limit the number of the targets, its uses the 'count' property and a inner 'target' that must contain the source items.
AbilityTarget_Union The union target groups the results of another targets. The union has a list of targets called 'targets'.
AbilityTarget_Range Restricts the range of the targets with the 'minimumRange' and 'maximumRange' properties. Its has the 'closestFirst', if this is true, the target will pick the nearest targets first. The source targets are in the 'target' property.
AbilityTarget_Self Adds the caster as a target.
AbilityTarget_SquadMembers Gets the squad members of the caster.
AbilityTarget_Friendly Gets the friend targets of the caster. If the 'optionalSource' is set, the game filter its contents, otherwise the game pics all the friend pawns.
AbilityTarget_Enemy Gets the enemy targets of the caster. If the 'optionalSource' is set, the game filter its contents, otherwise the game pics all the enemy pawns.
AbilityTarget_ThingInCategory This target pics things in predefined game categories. Its uses the 'group' property to determine its results.
AbilityTarget_Race This target filters only pawns of the specified races.

Effect
Here comes the good part, the ability results! If all the requirements are meet, the priority is high enough, and have valid targets, than the ability will be executed...

AbilityEffect_Random You can put more than one effect in the 'items' property, the game will choose one of them and execute.
AbilityEffect_Heal This effect heals de wounds of the target pawns. If the pawn is the caster, it will appear the he if regenerating... If are his friends, it appears that he is healing them. Once cast, the heal will have an power, used to heal wounds, there two gaining power methods, the 'totalPower' and 'targetPower', the 'totalPower' is a single addition, while the 'targetPower' adds more (or less) power every new target. To consume this power we have another two properties 'treatLocalInjuryPowerUse', used to treat an injury, and the 'healLocalInjuryPowerUse' this is the cost to heal 1 damage point. Besides all that, we have the 'healthTrashHold' (0.0 ... 1.0), that pics only targets with health below this percentual. Healing its a Casted ability, than it have the 'canBeInterrupted', the 'castTime' and the 'manaCost' properties.
AbilityEffect_Revive This effect revives the targets. (Currently more test is needed to keep the weapons and apparel of the original pawn). If the target is the caster, he will always back from the dead, like a phoenix, or an assembly skeleton. If if another corpe, the caster will like a necromancer, or a repair robot! The effect has a 'changeFaction' property, if set to true, the resurrected pawns will be of the caster faction. TODO: I want to set an property to allow changing the race of the resurrected corpses, to allow the creation of zombies, or weaker versions of the original pawn. Reviving is a Casted ability, than it have the 'canBeInterrupted', the 'castTime' and the 'manaCost' properties.
AbilityEffect_Spawn This effect creates new pawns to fight for the caster! This effect dont need any target to be executed. Its has an list of 'PawnKindDef' that fill be spawn near the caster. The 'range' controls the distance between the caster and the new pawns. Spawing is a Casted ability, than it have the 'canBeInterrupted', the 'castTime' and the 'manaCost' properties.
AbilityEffect_Evolve This effect turn pawns into another pawns. It can be used for a Pokemon based enemy, or for eggs that hatching. The AbilityDemoEvolve contains a documented sample of this ability.
AbilityEffect_MakeCorpseProvideCover This effect makes the corpes provide cover, the AbilityDemoProvideCover contains a documented sample of this ability.

soulkata

#2
ALIEN ANTS FACTION

Description:
This mod adds the 'Alien Ant' enemy faction to the game. My inspiration for this mod is the 'Ant Queen' (Wich spawns new ants among the attack) and the 'Ant Nurse' (Heals injuried Ants).

Current Alien Units
Currently, we have 5 types of ants:
* Ant worker, is a Weak melee unit, looks like an ordinary ant.


* Ant warrior, is a strong melee unit, with a Triceratops head.


* Ant stinger, is a Ranged unit with a scorpin tail.


* Ant queen, is the Strongest melee unit, has an spawn Ant hability, and has a bee tail.


* Ant nurse, is a Ranged unit, has a lealing hability, and has a buterfly appearance.



Changelog & Download
Quote
--------------------------------------------------------
Version a12v002 (02/09/2015) (Alien Ants) (Ability Pack (Requeriment))
--------------------------------------------------------
* Lowered butcher meat.

--------------------------------------------------------
Version a12v001 (01/09/2015)
--------------------------------------------------------
* A12d update;
* Simplified the habilities, to not respawn Queens.

--------------------------------------------------------
Version 0.402 (23/04/2015)
--------------------------------------------------------
* Fixed Ninefinger log message;
* Minor balance ajusts;

--------------------------------------------------------
Version 0.400 (15/04/2015)
--------------------------------------------------------
* Alpha 10 update;
* Changed RaidCommonality as Ninefinger pointed, to the ants attack more often;
* Changed Squad to Only have one Ant Queen at time;
* Changed Ant Queen spawn ability to less coldown when squad has litle Ants and more coldown when has many ants.

--------------------------------------------------------
Version 0.300 (28/03/2015)
--------------------------------------------------------
* Now the Ants uses motes to monitor the ability execution;

--------------------------------------------------------
Version 0.201 (10/03/2015)
--------------------------------------------------------
* Corrected the faction defs to allow other factions to attack the colony;


--------------------------------------------------------
Version 0.2 (10/03/2015)
--------------------------------------------------------
* Redesigned to use Ability Pack;
* Add 'mana' to Ant Nurse and Ant Princess;
* Add ITab to display ability stats;
* Created 'Ant Egg' unit;
* Created 'Ant Princess' unit;
* Ant Queen spawns only Ant Egg, that turns into Ant Worker and later on Warrior, Stinger or Nurse;
* If the colony is large enough, and there is no Ant Queen attacking, an random ant turns into a Ant Princess;

--------------------------------------------------------
Version 0.1 (22/02/2015)
--------------------------------------------------------
* Ant Nurse unit;
* Decreased meat ammout of butchered ants;


--------------------------------------------------------
Initial Release
--------------------------------------------------------
* Ant Worker unit;
* Ant Warrior unit;
* Ant Stinger unit;
* Ant Queen unit;


Contributing
I put all the sources and (Defs, C#, Photoshop (With Shapes)) along with the Mod, I would appreciate it if you pass me tips to improve the overall Mod ballance of the Mod.

Another thing, I suck at photoshop, spent much more time in sprite making than in game programing... and if someone wants to improve my textures, I will be happy to accept the contribution! :)

How to install:
- Unzip the contents of 'Ability Pack' and 'Alien Ants' and place them in your RimWorld/Mods folder.
- Activate the mods in the mod menu in the game.
- Create a new world and a new game.

soulkata

#3
FACTION GAUNTLET

Description:
Tool used to measure the faction Ballance, or just see enemies fighting themselves!





Changelog & Download
Quote
--------------------------------------------------------
Version a12v001 (02/09/2015) (Faction Gauntlet) (Ability Pack (Requeriment))
--------------------------------------------------------
* Mod Description

--------------------------------------------------------
Version a12v001 (01/09/2015)
--------------------------------------------------------
* A12 Update;

--------------------------------------------------------
Version 0.202 (23/04/2015)
--------------------------------------------------------
* Minor Modifications;

--------------------------------------------------------
Version 0.100 (16/04/2015)
--------------------------------------------------------
* Initial Release;


Contributing
I put all the sources and (Defs, C#, Photoshop (With Shapes)) along with the Mod, I would appreciate it if you pass me tips to improve the overall Mod ballance of the Mod.

How to install:
- Unzip the contents of 'Ability Pack' and 'Faction Gauntlet' and place them in your RimWorld/Mods folder.
- Activate the mods in the mod menu in the game.
- Create a New World for this
- Create a New Colony for this
- Activate the Debug tools
- Ansfer the config menus and watch the brawl!

soulkata


soulkata


soulkata


soulkata


soulkata


soulkata


soulkata


soulkata


soulkata


soulkata


soulkata