[Mod][A10] Soulkata Mods: Mecha Tank update!!

Started by soulkata, February 19, 2015, 09:47:33 PM

Previous topic - Next topic

SaymonCZ

I think it be cool if the ants could be harvested for something you can make armor with

soulkata

Quote from: deslona on March 04, 2015, 05:13:23 AM
I am also experiencing crashes with the Ants after I attack the ship part. Which is why I came to the forums actually because of the issue. There was a time that I attacked the ship part and it didn't crash (the queen ant didn't spawn). Related maybe?

Complety redesigned the mod! Run into 5 or 6 ancient ships winout any error messges! :)

soulkata

#32
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 0.402 (23/04/2015) (Alien Ants) (Ability Pack v2.02)
--------------------------------------------------------
* 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

#33
MECHA TANKS

Description:
Add a new tank unit to the pirates faction. This tank is a mechanoid unit which spawn with the pirates to assault your colony.

Current Unit
* Mobile Tank, Has the strength of a Scyther. Then the tank dies, it's pilot comes outside, and continue fighting. Another thing, the tank body provides cover for their driver.
   

Changelog & Download
Quote

--------------------------------------------------------
Version 0.303 (12/05/2015) (Mecha Tanks) (Ability Pack v2.02)
--------------------------------------------------------
* Solved the problem of Tanks in Sieges;

--------------------------------------------------------
Version 0.302 (23/04/2015) (Mecha Tanks) (Ability Pack v2.02)
--------------------------------------------------------
* Minor balance changes;

--------------------------------------------------------
Version 0.300 (15/04/2015)
--------------------------------------------------------
* Alpha 10 update;

--------------------------------------------------------
Version 0.200 (28/03/2015)
--------------------------------------------------------
* Now a mote apperar then the pilot ejects;

--------------------------------------------------------
Initial Release (27/03/2015)
--------------------------------------------------------
* Mobile Tank 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 'Mecha Tanks' and place them in your RimWorld/Mods folder.
- Activate the mods in the mod menu in the game.

soulkata

#34
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 02.002 (23/04/2015)  (Source)  (Demos)
--------------------------------------------------------
* 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.

HBKRKO619

Their is something I don't understand. The "Alien Ants Faction" and the "Mecha Tanks" need your "Ability Pack" to work well ?
Need a specific mod order ?

soulkata

Quote from: HBKRKO619 on March 27, 2015, 04:30:31 PM
Their is something I don't understand. The "Alien Ants Faction" and the "Mecha Tanks" need your "Ability Pack" to work well ?
Need a specific mod order ?

Both of them need the 'Ability pack'. The last version of 'Ability Pack' is compatible with his previous versions (The 'Alien Ants' and the 'Mecha Tanks' work with the same 'Ability Pack'). At present, they should function in any order.

HBKRKO619

OK so, to sum up, I need the "alien ant", "the tank" and the "ability pack v4.0" and have fun ^^

Thank you for this fast answer :)

soulkata


Geneoce

Hey soulkata I cant seem to get the ants to raid in debug and ive not seen them during normal play.

I get an error log stating that theres no pawns for the point allocation, 63 odd, when I try to force a raid.

Ninefinger

Quote from: Geneoce on April 09, 2015, 09:11:43 PM
Hey soulkata I cant seem to get the ants to raid in debug and ive not seen them during normal play.

I get an error log stating that theres no pawns for the point allocation, 63 odd, when I try to force a raid.

Same with me however if i force a crashed ship part the mecha tank spawned from that and im assuming the alien ant queen would as well with enough trials. Is this intended?

BetaSpectre

It'd be cool if you could kill the tank and driver, then repair the tank for personal use.

Kinda like a mecha suit to protect your colonists during combat.
░░░░░░░░░░░░░░░░░─╤▌██ |
░░░░░░░░─╤▂▃▃▄▄▄███████▄▃|
▂█▃▃▅▅███/█████\█[<BSS>█\███▅▅▅▃▂
◥████████████████████████████████◤
                           TO WAR WE GO

soulkata

Quote from: Geneoce on April 09, 2015, 09:11:43 PM
Hey soulkata I cant seem to get the ants to raid in debug and ive not seen them during normal play.

I get an error log stating that theres no pawns for the point allocation, 63 odd, when I try to force a raid.

Yeah the ingame Ant spawn rates are concerning me too, I will see what I can do for it! :) About the debug, its because your colony is too small to any ant attacks you... Make this:
1. Game Option Check the "Development Mode"
2. Open "Deb Actions Menu"
3. Click in "Make Colony (full)
Repeat theses process until a big raid attaks the colony:
1. Open "Deb Actions Menu"
2. Click in "Force Queye Big Thread"
3. Kill the minions

Now you can made a proper Ant Attack!

Ninefinger

Quote from: soulkata on April 10, 2015, 07:54:13 AM
Quote from: Geneoce on April 09, 2015, 09:11:43 PM
Hey soulkata I cant seem to get the ants to raid in debug and ive not seen them during normal play.

I get an error log stating that theres no pawns for the point allocation, 63 odd, when I try to force a raid.

Yeah the ingame Ant spawn rates are concerning me too, I will see what I can do for it! :) About the debug, its because your colony is too small to any ant attacks you... Make this:
1. Game Option Check the "Development Mode"
2. Open "Deb Actions Menu"
3. Click in "Make Colony (full)
Repeat theses process until a big raid attaks the colony:
1. Open "Deb Actions Menu"
2. Click in "Force Queye Big Thread"
3. Kill the minions

Now you can made a proper Ant Attack!

Awesome i think i found a solution, if you go to AlienAntsFactionsDefs.xml and change raid commonality to 45 it will be on par with the commonality of mech attacks i cross referenced it with horrors mod and they used the same commonality of 45 i also cross referenced it with the core games faction xml and saw that humanoid raiders were set to 100 commonality just to put things into perspective. hope that helps :)

soulkata

Quote from: Ninefinger on April 10, 2015, 10:39:42 AM
Awesome i think i found a solution, if you go to AlienAntsFactionsDefs.xml and change raid commonality to 45 it will be on par with the commonality of mech attacks i cross referenced it with horrors mod and they used the same commonality of 45 i also cross referenced it with the core games faction xml and saw that humanoid raiders were set to 100 commonality just to put things into perspective. hope that helps :)

Helps! :)