![]() |
Just a Crazy Weapon Idea....
I'm not 100% sure how much of this is going to work, but I'm going to tinker with the idea more until I force it to. The basis is, instead of needing to change weapon types when you invent a new type of munition (or whatever), the weapons upgrade themselves automatically when you refit the ship for a higher generation design. Everything is in formulas stuck in the component. Because studying a new type of munition gives you inherently better damage types, it is automatically changed if you have the proper type of weapon equipped.
Meanwhile, the damage upgrades itself based on not only the level of the weapon, but based on the levels of technology you have achieved. Because, for example, projectile are all based on a particular area of technology, you get damage bonuses based on what you have researched and how far. In this example, it's set to pick the highest level you have achieved and then add the average of all of the other levels. The reasoning behind this is that HEAP Projectiles are made better with advances in regular Armor Piercing ones. Plus, this makes it so that somebody that snagged 50 levels of AP Projectiles early on doesn't feel like they wasted their time when they picked up SNAPHE Projectiles. Meanwhile, in the To Hit calculation, there is a way to have a specific component grant a to-hit bonus ONLY to specific component types. Because this isn't doable with actual functions in the standard set, the Design_Has_Component_Type is called to make sure that it's there. Then it applies its bonuses to the weapon appropriately, depending on the tech level. The only time that weapon changes are necessary are when you want to either use an entirely different delivery system (as in, moving from Chemical Projectile Cannons to Coil Guns) or change to a completely different idea of weapon. Even then, however, weapons of similar class gain bonuses in relation to each other. Researching Projectile Weapons will also make your Rail Guns better, for example. All of this allows for more complexity within the combat system itself through the research system and allows you to specialize your empire further. This also means that, depending on what you researched, your weapons may be drastically different than another empire's that is using a similar class but a different specialization. As for range, the idea here is that the to-hit of the weapon is based on range, which is reduced by faster projectiles. In this case, as higher-class projectiles are invariably faster, you get a bonus to hit with them. Different classes of weapons that fire projectiles faster (Coil Guns, Rail Guns, and such...chemicals can only make things so fast) get different modifiers to the range. Again, this has NOT been thoroughly tested. I just wanted to drop the idea in front of anybody that might want it. Actually implementing and testing this is going to be fabulously difficult. Balancing it will be harder. Either way, here it is. Use what you want out of it. <font class="small">Code:</font><hr /><pre>Name := Chemical Projectile Cannon Description := Cheap to use and easy to produce. CPCs fire the most advanced type of standard projectile munition that is available. This will either be Standard, AP, HEAP, SNAPHE, ChaSNAPHE, or Antireality rounds. Picture Number := 086 Maximum Level := 10000 Tonnage Space Taken Formula := 25 * (0.995 ^ (Get_Empire_Tech_Level("Miniaturization") -1))) Tonnage Structure Formula := 25 + ([%Level%] / 5) Cost Minerals Formula := 125 + ([%Level%] * 5) + (Get_Empire_Tech_Level("Armor-Piercing Projectiles") * 5) + (Get_Empire_Tech_Level("HEAP Projectiles") * 4) + (Get_Empire_Tech_Level("SNAPHE Projectiles") * 3) + (Get_Empire_Tech_Level("ChaSNAPHE Projectiles") * 3) + (Get_Empire_Tech_Level("Antireality Projectiles") * 4) Cost Organics Formula := 10 + [%Level%] + (Get_Empire_Tech_Level("Armor-Piercing Projectiles") / 2) + (Get_Empire_Tech_Level("HEAP Projectiles")) + (Get_Empire_Tech_Level("SNAPHE Projectiles") / 2) + (Get_Empire_Tech_Level("ChaSNAPHE Projectiles") / 3) + (Get_Empire_Tech_Level("Antireality Projectiles") / 3) Cost Radioactives Formula := 10 + [%Level%] + (Get_Empire_Tech_Level("Armor-Piercing Projectiles") / 3) + (Get_Empire_Tech_Level("HEAP Projectiles") / 2) + (Get_Empire_Tech_Level("SNAPHE Projectiles") * 2) + (Get_Empire_Tech_Level("ChaSNAPHE Projectiles") * 3) + (Get_Empire_Tech_Level("Antireality Projectiles") * 6) Supply Amount Used Formula := 0 Ordnance Amount Used Formula := 5 Can Be Placed On Vehicle Types := Ship, Base, Satellite, Weapon Platform Can Be Placed In Ship Sections := Outer Hull Component Type List := Technological General Group := Projectile Weapons Custom Group := 0 Number Of Requirements := 1 Requirements Evaluation Availability := AND Requirements Evaluation Allows Placement := TRUE Requirements Evaluation Allows Usage := TRUE Requirement 1 Description := Empire must have at least one level of Projectile Weapons. Requirement 1 Formula := Get_Empire_Tech_Level("Projectile Weapons") > ([%Level% - 1) Number Of Abilities := 2 Ability 1 Type := Crew Quarters Ability 1 Description := Requires two crew members to operate. Ability 1 Scope := Space Object Ability 1 Range Formula := 0 Ability 1 Amount 1 Formula := -2 Ability 1 Amount 2 Formula := 0 Ability 2 Type := Ordnance Storage Ability 2 Description := Provides storage for [%Amount1%] units of Ordnance. Ability 2 Scope := Space Object Ability 2 Range Formula := 0 Ability 2 Amount 1 Formula := 50 + [%Level%] Ability 2 Amount 2 Formula := 0 Weapon Type := Direct Fire Weapon Delivery Type := Projectile Weapon Target Type List := Ship, Base, Satellite, Weapon Platform, Building, Planet, Fighter Weapon Damage Type Formula := If (Get_Empire_Tech_Level("Antireality Projectiles") >= 1, "Antireality Projectile", (If (Get_Empire_Tech_Level("ChaSNAPHE Projectiles") >= 1, "ChaSNAPHE Projectile", (If (Get_Empire_Tech_Level("SNAPHE Projectile") >= 1, "SNAPHE Projectile", (If (Get_Empire_Tech_Level("HEAP Projectiles") >= 1, "HEAP Projectile", (If (Get_Empire_Tech_Level("Armor-Piercing Projectiles") >= 1, "Armor-Piercing Projectile", "Projectile")))))))) Weapon Space At Range Distance Increment := 10 Weapon Space Min Damage At Range := 0 Weapon Space Max Damage At Range := 0 Weapon Space To Hit Modifier At Range := 0 Weapon Space Min Damage Modifier Formula := 5 + [%Level%] + (Max (Get_Empire_Tech_Level("Armor-Piercing Projectiles"), (Max (Get_Empire_Tech_Level("HEAP Projectiles"), (Max (Get_Empire_Tech_Level("SNAPHE Projectiles"), (Max (Get_Empire_Tech_Level("ChaSNAPHE Projectiles"), (Get_Empire_Tech_Level("Antireality Projectiles"))))))) + ((Get_Empire_Tech_Level("Armor-Piercing Projectiles") + Get_Empire_Tech_Level("HEAP Projectils") + Get_Empire_Tech_Level("SNAPHE Projecties") + Get_Empire_Tech_Level("ChaSNAPHE Projectiles") + Get_Empire_Tech_Level("Antireality Projectiles")) / 5) Weapon Space Max Damage Modifier Formula := (5 + [%Level%] + (Max ((Get_Empire_Tech_Level("Armor-Piercing Projectiles"), (Max ((Get_Empire_Tech_Level("HEAP Projectiles"), (Max ((Get_Empire_Tech_Level("SNAPHE Projectiles"), (Max ((Get_Empire_Tech_Level("ChaSNAPHE Projectiles"), (Get_Empire_Tech_Level("Antireality Projectiles"))))))))))) + ((Get_Empire_Tech_Level("Armor-Piercing Projectiles") + Get_Empire_Tech_Level("HEAP Projectils") + Get_Empire_Tech_Level("SNAPHE Projecties") + Get_Empire_Tech_Level("ChaSNAPHE Projectiles") + Get_Empire_Tech_Level("Antireality Projectiles")) / 5)) * 2 Weapon Space To Hit Modifier Formula := ([%Level%] / 5) + (If (Design_Has_Component_Type("Tracking Computer") = TRUE, (5 + (Get_Empire_Tech_Level("Tracking Computers") / 5), 0) - (Max (0, ([%Range%] / (Get_Empire_Tech_Level("Projectile Weapons") Weapon Reload Rate MS Formula := 4000 * (0.995 ^ (Get_Empire_Tech_Level("Projectile Weapons") - 1)) * (0.995 ^ (Get_Empire_Tech_Level("Rapid-Fire Projectile Weapons") - 1))</pre><hr /> Anyway...this is one of the ideas behind the mod I'm working on. When this pesky Infinitech Mod is finished, I'm hoping that this doesn't absolutely cripple CPUs in processing all of this garbage. We'll see, though. The different types of munitions are dependent on each other. As in, you need enough development of regular Projectile Weapons to get to Armor-Piercing Projectiles, which leads to HEAP, then SNAPHE, ChaSNAPHE, then Antireality. |
Re: Just a Crazy Weapon Idea....
It looks really funny to play with...
But it risks to be evaluated only on building, and recalculated only on main technology retrofit. |
Re: Just a Crazy Weapon Idea....
Once you commit a ship design, all of the component values are set in stone.
|
Re: Just a Crazy Weapon Idea....
Quote:
Part of the idea is that one tech level doesn't make such a huge difference that you need to refit ships every time you get a new tech level. I was mainly referring to the idea that you don't need to switch the modules outright, just copy the ship design and let the component leveling and new design stuff take care of everything. But, again, that's something that will need testing so yeah. |
Re: Just a Crazy Weapon Idea....
The AI has no idea about that though, and will tend to do lots of retrofits anyways. It might be possible to code in a /5 somewhere in the AI logic to only make them retrofit if more than 5 levels out of date, or something.
When upgrading a design to the latest tech, you don't need to manually switch out any modules anyways; just use the "Upgrade" button instead of "Copy." |
Re: Just a Crazy Weapon Idea....
Quote:
Of course, with everything being gutted and redone single player games will need AI anyway, though the basic idea here is to give every empire some different flavor. I have some basic notes scratched down as to what races will specialize in what, their favorite technologies, their general strategy, and hopefully how they'll adapt to other empires and what they use. But, oy...first things first, finish the mod. |
All times are GMT -4. The time now is 06:50 PM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.