Code Monkey home page Code Monkey logo

lwotc's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lwotc's Issues

New research is not showing all new items

For example, after Laser Weapons is researched, XCOM fails to popup laser rifles. I only see laser pistols and stenguns. This may be specific to lasers only, but needs to be checked out regardless.

Replace game state effects

The XComGameState_Effect_* classes below are apparently problematic, due to using effect components:

They may lead to post-mission crashes.

From Musashi:

you can replace most of it by just registering event listeners in the effects and pass the object you need in the delegate in the listener data parameter
or using event listener templates
for example XComGameState_Effect_TemporaryItem just exists to remove TemporaryItems from the units inventory on tactical game end

From robojumper:

Effect components are definitely not something you want to use anymore
You can simply subclass XCGS_Effect if needed, and if not needed, use the CallbackData parameter to retrieve the target XCGS_Effect while having the callback in X2Effect_Persistent subclasses

Add support for headshot photos

WOTC no longer has the functions that LW2 was using to capture headshot photos of soldiers. We need to use the Photo Booth instead.

There are various WOTC TODO entries marking where photos need to be taken.

"On Mission" status not displayed for soldiers

Although soldiers that are infiltrating are blocked from being added to other missions, their displayed status does not reflect this situation.

Apparently Long War 2 made quite a few changes to the highlander classes in order to implement this behaviour. That may no longer be necessary as WOTC introduces the eStatus_CovertAction status that represents something similar.

So, we need to replace references to eStatus_OnMission with eStatus_CovertAction. We then need to override the display of the status so that it shows "On Mission" or "On Covert Action" as appropriate. A similar requirement seems to have been tackled by the community highlander in this issue and linked pull request.

Solve the conundrum of ability points

As things stand, XCom will likely collect a lot of ability points which could result in an easy route to super soldiers. We should rethink how they work.

For a start, I'm not a big fan of how they are awarded. The current system basically rewards you for certain types of play, but not others. It could potentially also favour some soldier classes over others. Melee fighters are probably hurt the most by this.

I would rather see ability points awards alongside XP. I think we can also open up some interesting player decisions by allowing players to spend ability points to train up soldiers. This would allow them to mitigate the loss of more experienced soldiers. There could be an interesting trade off between building (mildly) super soldiers and being more robust in the face of one-off soldier losses. I don't know whether the ability point system can be repurposed for this.

Edit Goals:

  • Turn Ability Points into a consumable/tradable form of XP
  • Mitigate the massive investment in time and XP that constitute high-ranked soldiers that then die
  • Allow for more distinctive soldiers, so a barracks always feels quite different from one campaign to another

Current thoughts/proposal:

  • Remove in-mission AP rewards (the game is just not a good judge of what makes a good play)
  • Award AP at mission end - higher combat intelligence gains more AP
  • Spend AP on non-class skills
  • Add perk rows for: pistols, offensive, defensive
  • Try to align faction soldiers with normal soldiers in promotion mechanics
  • Add one or two staff slots to Training Center that can give promotions at the cost of time and AP, so now you have to decide between super soldiers and a more robust barracks. This can also mitigate late-game squad wipes to some degree.
  • Perhaps use AP for Psi and/or SPARKs

Before going too far down this road, we'll still need to work out what to do with the training center and "AWC" abilities (issue #8).

Reinforcement warnings are missing

This is because I commented out the code in UIScreenListener_TacticalHUD that handles this. In order to restore the code, we need changes to the community highlander unless there is another way to control the display of the UITacticalHUD_Countdown alert, including its text and colour.

Switch to WOTC timer for mission maps

LW2 coded its own mission timer into various maps, but this should no longer be necessary with WOTC's BasicMissionTimer Kismet sequence (or set of sequences). It has an integer variable (Timer.LengthDelta, default: 0) that gets added the to base mission time (which comes from config) and a float variable (Timer.DeltaMultiplier, default: 1.0) that is multiplied against the result.

It should be possible to set appropriate base times for the missions in config (see DefaultMission.ini - under [RescueVIP] for example) and then inject appropriate modifiers based on the size of the map (see X2SitRepEffect_ModifyKismetVariable for an example of injecting Kismet variables from UnrealScript).

Note that we also need to take into account officer abilities that adjust mission timers. This are currently coded against the LW2 mission timer rather than the WOTC one. See X2Effect_SuspendMissionTimer for an example of interacting with the mission timer via abilities/effects.

Replace `XCGS_LWListenerManager` with CHL listener templates

It should be relatively easy to refactor XComGameState_LWListenerManager if I use X2WOTCCommunityHighlander's listener templates, as demonstrated by this class.

Note that I did do a quick try of this on the utility item slot events, but it crashed the game. May have been connected with loading an old game though.

Squad select is auto filling empty squads

If a new, empty squad is created for a mission (because no other squad is available), then squad select should not be allocating any soldiers to it or displaying them.

Soldiers can't place evac zone

I can invoke the Call Skyranger ability, but the blue rectangle for targeting doesn't appear and it's impossible to activate it, either by pressing return or clicking on the "Call Skyranger" button.

Integrate XCom Scamper

This works really well in Long War Rebalance and allows for a faster tactical game. It might be necessary to reduce the mobility for the free action, though. Not sure if that's possible.

Fix LW missions involving rescues

Specifically, Obj_LWTerror, Obj_Defend_LW (I like the naming consistency...), and Obj_Jailbreak_LW need their Kismet changing to use the WOTC subsystems for rescuing civilians and VIPs. The latter in particular is a blocker as the rebels don't swap to Team XCom properly otherwise.

Sort out overwatch

Overwatch was a little too strong in the original LW2 and could probably do with being weakened. It was a dominant strategy that allowed for the destruction of entire pods on the alien turn, often without any danger to the XCOM squad. It needs to either be less effective or more niche.

Enemy always seems to miss

ADVENT and aliens never seem to hit XCOM soldiers. Check their ToHitCalc and perhaps XCOM soldier defence.

Spawned mission icons clump together

All the missions seem to spawn in a very small circle within a region, leading to annoying overlap. Check both XCGS_LWAlienActivity and the XComGame XCGS_WorldRegion.GetRandomLocationInRegion() method. The latter should ensure that the location isn't close to existing entities, but that seems to be breaking down for some reason.

Consider implementing LightEmUp the same way as Skirmisher's Marauder

This would involve making Light 'Em Up a pure passive ability that modifies standard shot - see X2Ability_WeaponCommon - to not consume all action points. Here's the relevant code for the Skirmisher ability in that class:

// Action Point
ActionPointCost = new class'X2AbilityCost_ActionPoints';
ActionPointCost.iNumPoints = 1;
ActionPointCost.bConsumeAllPoints = true;
ActionPointCost.DoNotConsumeAllSoldierAbilities.AddItem('SkirmisherStrike');
Template.AbilityCosts.AddItem(ActionPointCost);	

We would have to modify the template by adding an extra item to the DoNoConsumeAllSoldierAbilities array.

Split `UIMission_LWCustomMission` into multiple screens

At the moment, this class has the code for several different screens, such as Guerrilla Ops, council missions, etc. It would be easier to customise the behaviour of different screens if they were in their own classes.

Integrate training center and infirmary

Since the AWC has been split into two, all of LW2's AWC functionality needs to be rejigged. This includes all the localisation files that reference the Advanced Warfare Center!

`UIAfterAction_LW` has visualisation issues

The post-mission screen doesn't seem to display faction soldier pawns properly relative to the other soldiers. They seem to collide/overlap.

More concerning is that the second row of pawns is not displayed, although their panels with promote icons are.

Drones aren't patrolling

The gamestate change doesn't seem to be working. I'm seeing an error about it not being added to the history.

Add a short campaign

Allow players to undertake a shorter campaign than the normal one. There are a couple of ways we could approach this:

  • Reduce the number of missions per month (this is effectively how Long War 1's Dynamic War option works)
  • Double the speed of everything

The former could perhaps be implemented in the alien activity manager and is probably the easier option to implement.

The second would involve doubling the rate of:

  • Scanning
  • Force level increases
  • XP gain on soldiers
  • Wound recovery (?)
  • Research
  • Doom accumulation, and so on

In both cases, resource rewards would have to be doubled (or you halve resource requirements). VIP and soldier rewards could probably stay the same.

Reinforcement flares are showing

It's a DLCInfo hook that we added to XCGS_AIReinforcementSpawner.BuildVisualizationForSpawnerCreation. The wotc version is a bit different from vanilla and the wotc highlander doesn't have the hook

Try to replace that DLCInfo hook with an event in X2WOTCCommunityHighlander.

Overwatch shots frequently have low aim for XCOM

This may be to do with WOTC's new overwatch mechanics. It basically looks like the overwatch aim is being reduced by the cover the enemy starts in. I'm going by what Perfect Information is saying, so I'm not 100% sure that there is a problem here. But those low odds overwatch shots all missed.

Scale supply raids differently

Supply raids were always hard to balance because the rewards for under infiltrating were so great. I propose that the rewards are reduced as infiltration level falls. This could either be done on a straightforward percentage basis (rewards = %infil * base rewards) or at discrete levels. For example:

  • 75-99% infiltration = 75% rewards
  • 50-74% infiltration = 50% rewards
  • 25-49% infiltration = 25% rewards
  • 0-24% infiltration = 0% rewards

It might also be worth scaling the number of enemies down as well, since their corpses have intrinsic value and drop loot.

The justification for this would be that XCOM would be hitting a waypoint where supplies are congregating. At 0% infiltration, no supplies have actually reached that waypoint. As infiltration goes up, more supplies and their escorts arrive.

Note that I don't think over infiltration should have any effect on supply raids.

Review use of WOTC flamethrower targeting

Once we've had a chance to play with the flamethrower a bit, decide whether the WOTC flamethrower targeting is fine as it stands. Otherwise, consider resurrecting the old LW2 targeting method.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.