Photon's Modding Adventures


Recommended Posts

Spoiler
10 hours ago, PrismaticPhoton said:

 



eclipse = util.extend( createDaemon( STRINGS.TEST_MOD.ECLIPSE ) )
	{
		icon = "gui/icons/daemon_icons/Daemons00010.png",
		duration = 0,

		onSpawnAbility = function( self, sim, player )
			sim:dispatchEvent( simdefs.EV_SHOW_DAEMON, { name = self.name, icon = self.icon, txt = self.activedesc} )
			
			local player = sim:getCurrentPlayer()
			local availableCameras = {}

			for _, unit in pairs( sim:getAllUnits() ) do 
				if unit:getTraits().mainframe_camera then 
					if unit:getPlayerOwner() == player then 
						unit:processEMP(2)
					end
				end
			end
			
			player:removeAbility(sim, self )						
		end,

		onDespawnAbility = function( self, sim, unit )			
		end,
	}  

 

Remove

local player = sim:getCurrentPlayer()

and replace

if unit:getPlayerOwner() == player then 

with

if unit:getPlayerOwner() == sim:getPC() then 

 

Link to comment
Share on other sites

5 hours ago, Cyberboy2000 said:
  Reveal hidden contents

Remove


local player = sim:getCurrentPlayer()

and replace


if unit:getPlayerOwner() == player then 

with


if unit:getPlayerOwner() == sim:getPC() then 

 

Oh, oops. I see what happened now. I ripped the camera code from Oracle but inadvertently overwrote the original player parameter passed in. I just need to rename it (that specific check does need to be against the player) and that should hopefully fix it. Thanks!

Link to comment
Share on other sites

56 minutes ago, PrismaticPhoton said:

Oh, oops. I see what happened now. I ripped the camera code from Oracle but inadvertently overwrote the original player parameter passed in. I just need to rename it (that specific check does need to be against the player) and that should hopefully fix it. Thanks!

Keep in mind that getCurrentPlayer gets the current player, while you're specifically looking for the PC player.

Link to comment
Share on other sites

I have sort of an unrelated question, but this may inform how I pursue different modding ideas, so I'm going to just ask it here:

How do you guys prefer to play the game content-wise? Do you include everything from the base game and the DLC, or do you mix and match only certain aspects? And of course, why? 

 

Link to comment
Share on other sites

45 minutes ago, PrismaticPhoton said:

I have sort of an unrelated question, but this may inform how I pursue different modding ideas, so I'm going to just ask it here:

How do you guys prefer to play the game content-wise? Do you include everything from the base game and the DLC, or do you mix and match only certain aspects? And of course, why? 

 

I tend to use the complete Klei package (game on expert+dlc) and put a difficult enhancing mod over it (the harder alarm in Programs Extended or Advanced Guard Protocols). Imo thats the most balanced decision you can make. But in reality I just mash all mods together, deactivate some of the things I hate and look how everything interacts.

Link to comment
Share on other sites

PrismaticPhoton

I have the base game and the DLC, and generally play with all features from them included.

When I'm trying stuff out and testing, I default to Beginner mode settings, then mod options, so that missions go faster with fewer roadblocks. 

When I play serious, though, I do Endless and Expert.  I've disabled the extended campaign before, but since I can just quit a run whenever I feel like it, I more often leave that be.

I do have multiple samegame.lua's, a plethora, in fact, from playing a modded game, then adding a new mod, etc.  I have one from before I started using any mods at all.  Four is definitely not enough save slots for me.

Link to comment
Share on other sites

2 hours ago, SteelCrow said:

When I play serious, though, I do Endless and Expert.  I've disabled the extended campaign before, but since I can just quit a run whenever I feel like it, I more often leave that be.

Are you talking about disabling the Omni side-mission on day 4? That's actually one of things I'm curious about: I'm personally not very fond of the Omni-missions if only because I feel like they're a strategical "bottleneck."

Link to comment
Share on other sites

15 hours ago, PrismaticPhoton said:

Are you talking about disabling the Omni side-mission on day 4? That's actually one of things I'm curious about: I'm personally not very fond of the Omni-missions if only because I feel like they're a strategical "bottleneck."

The one where we teleport with Monst3r and get Incognita's special case, yeah.  I disabled it because I think the base game's length is better, and I'm not very fond of the DLC's tier 4 items.  Rush is my favorite combat agent, though.  If I wanted to play longer, I'd play Endless, or leave day/level retries on, and reroll missions in mid-late game, because I like that part of the game the best.

Link to comment
Share on other sites

I use DLC, Programs Extended and agents.

Trying to get achievement for 20 days of endless for year, so all options on default, but at day 12 there's no any interest/challenge to play lefts anyway =[
Trying to add self-challenges/missions, like sold all doubles or change all items to versions IV but it still no good. Wish for option to reduce skillpoints, especially speed.

No rebalanced agents/items, I want new stuff added to defaults, not instead of them. Stopped to use Advanced Guards, I can't chew it quantity and feels that it makes corporations more similiar instead of different (mixed feelings about this mod though, because of different elements). Same feelings to more items mods, kinda it adds a too big quantity of samey things instead of few but new.

Link to comment
Share on other sites

2 hours ago, Shirsh said:

Same feelings to more items mods, kinda it adds a too big quantity of samey things instead of few but new.

Haven't used the current item mods, but regardless this is one of things I noticed even playing on regular Endless. Its not that the difficulty doesn't scale but that I feel the options for player progression taper off very quickly. This is something I'd potentially like to take a shot at after I've become a little more acclimated to Endless (just recently got the DLC and am on my first DLC Endless run, tail-end of Day 5.)

Link to comment
Share on other sites

I use the Community Mod Pack (which is almost every mod on the workshop) plus dlc. Generally play Expert or Expert+ and leave the rest of the settings be. When I'm not doing that (because I want to try something new) I use either AGP's Hard Mode or PE's Hard Alarm Types and mess around with some of the finer details of GO+ just for the heck of it.

20 hours ago, PrismaticPhoton said:

Are you talking about disabling the Omni side-mission on day 4? That's actually one of things I'm curious about: I'm personally not very fond of the Omni-missions if only because I feel like they're a strategical "bottleneck."

 

4 hours ago, SteelCrow said:

The one where we teleport with Monst3r and get Incognita's special case, yeah.  I disabled it because I think the base game's length is better, and I'm not very fond of the DLC's tier 4 items.

Funny, I think the omni levels and the extended campaign are the best parts of the game. The first and part of the second day you just feel weak, and endless leaves no room for your team to grow. The base game I feel ends just when you start to feel strong and get attached to your team, which can be a fine way to structure a game, but I like having that feeling a bit longer. And the omni levels are the high points where you truly can go all in. This works best if you use AGP to make the difficulty of omni scale.

2 hours ago, Shirsh said:

Stopped to use Advanced Guards, I can't chew it quantity and feels that it makes corporations more similiar instead of different (mixed feelings about this mod though, because of different elements).

That's interesting to hear. I feel like I've tried my best to make the new guards fit in with the vanilla ones, but my opinion could very well be biased. Is there anything particular you're bugged by, or is it just the sheer quantity of content? (I admit, some guards have a bit convoluted abilities, but in my defense there's only so much you can do with a straight stat increase)

Link to comment
Share on other sites

On 4/29/2017 at 1:42 PM, Cyberboy2000 said:

Funny, I think the omni levels and the extended campaign are the best parts of the game. The first and part of the second day you just feel weak, and endless leaves no room for your team to grow. The base game I feel ends just when you start to feel strong and get attached to your team, which can be a fine way to structure a game, but I like having that feeling a bit longer. And the omni levels are the high points where you truly can go all in. This works best if you use AGP to make the difficulty of omni scale.

Its not so much the extended campaign as it is just the Omni missions themselves. In general I feel like the difficulty progression is pretty smooth (specifically speaking to Expert, at least.) You still have to put in the legwork to stay on top of the escalating threat levels, but generally speaking I still feel accomplished when I squeak my way through different missions. Then you have the Omni missions, where one might say it puts a giant neon sign over your head every time you do so much as breath on an enemy... not that it matters with their meteorite-proof armor. Then combine this with out-of-the-blue requirements like "do the chicken dance for 20 turns" that you see literally nowhere else in the game (before and after the mission itself.)

Obviously, I'm exaggerating a touch here for effect so don't take it too seriously :p ; basically, my main beef is that it doesn't feel consistent with the rest of the game in terms of difficulty and progression. But I totally understand why other people like it.

Link to comment
Share on other sites

So, I've started working on a new mod idea : a rebalance of several of the starting programs with some potential new ones. The idea is to take several programs and tweak them while still maintaining a function similar to its original form. This will hopefully give some more viable and diverse options to starting loadouts. Its very early but I thought I'd share some of the ideas I had for feedback.

Tier 1 Programs

  • Power Surge (formerly Power Drip) : [PASSIVE] Generate 1 PWR per turn, or generate 2 PWR per turn if at 14 PWR or higher.

    Power Drip was OK as a beginner program but it just doesn't scale well even at moderate difficulties; portable servers easily outclass it. What I've attempted to do here is give it a unique twist by rewarding PWR micromanagement. Whereas a starting program like Seed encourages high-cost programs, Power Surge could potentially have a niche as small-cost friendly.

    I'm currently testing this one in an Expert DLC Campaign. I paired it with Parasite, and the initial synergy that I expected to be there definitely showed itself. It could also potentially make the Abacus programs more relevant as well, immediately pushing you into the "bonus" PWR range. It could also make hitting consoles more strategic too (especially with Internationale.)
     
  • Dynamo : [PASSIVE] Per turn, generate PWR equal to the alarm level (Max: 3 PWR per turn.)

    A program that is dead weight for two alarm levels just seems pretty "eh" to me. Then again, I'm more of a "pacifist" player so I could be biased. Feel free to correct me. :)

    By simply scaling it with the alarm level, at least the "dead" time is theoretically halved. Letting it get up to 3 PWR per turn could be a bit much, but that remains to be seen. At any rate, my thought was that this makes it more practical to use while maintaining its risk-based nature.
     
  • (New) Nosferatu : [PASSIVE] Per turn, generate 1 PWR plus 1 extra PWR per agent that is pinning enemy targets

    I briefly experimented with a pin-based augment but quickly came to the conclusion that it was too situational and not all that gratifying to use. By extending the "bonus" to all agents though, I think the flexibility of such an ability could be greatly increased and therefore much more usable. There aren't many pinning-based bonuses in the game right now, so it could cater to a unique playstyle.

Tier 2 Programs

  • Mercenary (Cost = 1 PWR) : Breaks 2 firewalls. +1 PWR cost per use. Cost resets each alarm level.

    I tried using Mercenary once and gave up on it. When you compare it to Lockpick 2.0, they both consume the same power after 4 uses (Mercenary's 0 + 2 + 4 + 6  =  Lockpick's 3 x 4.) After that, Mercenary is woefully inefficient. I tried combining it with Seed (use another program first then use Mercenary) and even that didn't seem worth it: there are just better "brute force" icebreakers you could be using.

    Though I'm not sure this tweak is enough, it at least increases its Lockpick equivalence to 5 uses instead of 4 (Mercenary's 1 + 2 + 3 + 4 + 5  =  Lockpick's 3 x 5.) Even if you do go past five uses its much more efficient than its previous incarnation, though that's not necessarily saying much. ;) 
     
  • (New) Rally (Cost = 2 PWR) : Breaks 2 firewalls. 1 turn cooldown but cooldown is reset when KO'ing or killing a guard.

    Sort of a companion program for Nosferatu, though certainly not limited to it. Its pretty straightforward: you get a cheaper Lockpick 2.0 but you must stay active to use it repeatedly. Nika synergy, anyone?

Feedback is welcome and appreciated. I'm thinking I'll only do the rebalances for the first version of the mod, but we'll see.

Link to comment
Share on other sites

Power Drip - coudn't agree more. Currently I never even consider Power Drip as a starting program. That change sounds great, and with changes to Abacus programs in my Programs Extended mod (+5/+10 PWR capacity on top of default effects) it looks appealing as a starter. If you're going to publish this mod, please leave default name, I already have Power Surge program in my mod.

Dynamo - 3 PWR per turn is too much, for a starting program. If Dynamo wasn't a starting option, then it could be fine, considering it's default price (1000 CR). Arguably, Dynamo is a good option for agressive playstyle, especially in Expert+, and is certainly viable for other playstyles (https://www.youtube.com/watch?v=1O7v4V7xsuY&index=37&list=PLSzYc9hNynCVpd-BPJgMR--QDJ6wZIMko).

Mercenary - I think you're underestimating 2 firewalls per hack right from the start. Early on, alarm level 2 (firewalls +1) basically has no effect for the player. With Seed, you get 3 free hacks per alarm level. By the time you would need to use it really frequently (mission difficulty 3+), Server Farm visit gets you another breaker, and Mercenary becomes rather efficient secondary, with 2-3 hacks per alarm level to keep costs low.

 

Programs.zip

Here, working prototypes for new programs, including strings and icons. Have fun with them. If you're going to publish this, remember to use prefixes for program id's, like in the provided zip, for cross-mod compatibility.

 

Link to comment
Share on other sites

14 minutes ago, wodzu_93 said:

Power Drip - coudn't agree more. Currently I never even consider Power Drip as a starting program. That change sounds great, and with changes to Abacus programs in my Programs Extended mod (+5/+10 PWR capacity on top of default effects) it looks appealing as a starter. If you're going to publish this mod, please leave default name, I already have Power Surge program in my mod.

Noted. Still might try to come up with a different name though, since Power "Drip" doesn't seem quite as fitting now.

19 minutes ago, wodzu_93 said:

Dynamo - 3 PWR per turn is too much, for a starting program. If Dynamo wasn't a starting option, then it could be fine, considering it's default price (1000 CR). Arguably, Dynamo is a good option for agressive playstyle, especially in Expert+, and is certainly viable for other playstyles (https://www.youtube.com/watch?v=1O7v4V7xsuY&index=37&list=PLSzYc9hNynCVpd-BPJgMR--QDJ6wZIMko).

I find it interesting that you think its too powerful for the early game. It still requires getting to Alarm Level 3 and starting with no PWR gain until Alarm Level 1. It is, no doubt, a straight-up buff to the program though. Maybe I just don't see it because it doesn't fit my playstyle.

22 minutes ago, wodzu_93 said:

Mercenary - I think you're underestimating 2 firewalls per hack right from the start. Early on, alarm level 2 (firewalls +1) basically has no effect for the player. With Seed, you get 3 free hacks per alarm level. By the time you would need to use it really frequently (mission difficulty 3+), Server Farm visit gets you another breaker, and Mercenary becomes rather efficient secondary, with 2-3 hacks per alarm level to keep costs low.

At lower levels of difficulty, yes, but I'd argue you could get away with a lot of things at that level. At higher levels... is a 2-3 use per alarm level icebreaker really that effective when your program lineup is so important? Maybe with the extra program slot in the extended DLC you could better afford it, but still. I can't think of many programs that would pair well with.

32 minutes ago, wodzu_93 said:

Programs.zip

Here, working prototypes for new programs, including strings and icons. Have fun with them. If you're going to publish this, remember to use prefixes for program id's, like in the provided zip, for cross-mod compatibility.

Hey, thanks! I do have some ideas of my own for the icons, but I haven't even touched the "kwad" stuff yet, ha. Couple questions:

  • What are the PROGRAM_LIST and PROGRAM_NO_BREAKER_LIST variables? Are those what place them in the starting program lists?
  • Is there a reason Nosferatu doesn't just make a call to simquery:isUnitPinning()? Or is that because you want to account for all units in a cell being pinned? That's actually a technicality I haven't quite decided on yet: whether the bonus is per guard being pinned or per agent that is pinning. The situation where multiple units are down on the same tile is rare, but it can happen and could lead to some "cheese" bonuses.
Link to comment
Share on other sites

I think Power Drip is still fine, since it "opens its valve to drip a bit more PWR";)

 

PROGRAM_LIST and PROGRAM_NO_BREAKER_LIST set the weight of the program for shops, higher means more likely to appear, with most common programs having weight of 20, and it gets lower for more rare ones. PROGRAM_LIST is for Primary Server Terminals (in Server Farm Missions), PROGRAM_NO_BREAKER_LIST is for Secondary Server Terminal. By the way, don't use modApi:addMainframeAbility for editing existing programs, it leads to both new and old versions being present in shops.

 

I'm not using the simquery function, because it doesn't appear to work, I was getting nil value return errors. Program counts number of units being pinned by agents, and this includes your downed agents as well.

Link to comment
Share on other sites

6 minutes ago, wodzu_93 said:

By the way, don't use modApi:addMainframeAbility for editing existing programs, it leads to both new and old versions being present in shops.

Hmm, I'm pretty sure that's what the example mod was using. What should I be using instead?

Link to comment
Share on other sites

Make separate lua file and include it in modinit. Make a function like this:

 

	function update_base_programs()
		local simdefs = include( "sim/simdefs" )
		local mainframe_common = include("sim/abilities/mainframe_common")
		local mainframe_abilities_base = include("sim/abilities/mainframe_abilities")
		local npc_abilities = include("sim/abilities/npc_abilities")
		local DEFAULT_ABILITY = mainframe_common.DEFAULT_ABILITY
		local createDaemon = mainframe_common.createDaemon
		local createReverseDaemon = mainframe_common.createReverseDaemon
		local createCountermeasureInterest = mainframe_common.createCountermeasureInterest

	mainframe_abilities_base.pwr_manager = util.extend( DEFAULT_ABILITY )
	{
		name = STRINGS.PROGRAMS.PWR_MANAGER.NAME,
		desc = STRINGS.PROGEXTEND.PROGRAMS.PWR_MANAGER.DESC,
		huddesc = STRINGS.PROGEXTEND.PROGRAMS.PWR_MANAGER.HUD_DESC,
		shortdesc = STRINGS.PROGEXTEND.PROGRAMS.PWR_MANAGER.SHORT_DESC,
		tipdesc = STRINGS.PROGRAMS.PWR_MANAGER.TIP_DESC,
 		passive = true,
		icon = "gui/icons/programs_icons/Program0019.png",
		icon_100 = "gui/icons/programs_icons/store_icons/StorePrograms_0019.png",
		value = 400,

		canUseAbility = function( self, sim )
			return false 	
		end,

		onSpawnAbility = function( self, sim, player )
			DEFAULT_ABILITY.onSpawnAbility( self, sim )	
            		if not player:getTraits().extraStartingPWR then
            			player:getTraits().extraStartingPWR = 0
            		end
			if not player:getTraits().PWRmaxBouns then
				player:getTraits().PWRmaxBouns = 0
			end
            		player:getTraits().extraStartingPWR = player:getTraits().extraStartingPWR + 4
			player:getTraits().PWRmaxBouns = player:getTraits().PWRmaxBouns + 5
		end,

    		onDespawnAbility = function( self, sim, player )
    			DEFAULT_ABILITY.onDespawnAbility( self, sim )	
			player:getTraits().PWRmaxBouns = player:getTraits().PWRmaxBouns - 5
    		end,
	}

	mainframe_abilities_base.pwr_manager_2 = util.extend( DEFAULT_ABILITY )
	{
		name = STRINGS.PROGRAMS.PWR_MANAGER_2.NAME,
		desc = STRINGS.PROGEXTEND.PROGRAMS.PWR_MANAGER_2.DESC,
		huddesc = STRINGS.PROGEXTEND.PROGRAMS.PWR_MANAGER_2.HUD_DESC,
		shortdesc = STRINGS.PROGEXTEND.PROGRAMS.PWR_MANAGER_2.SHORT_DESC,
		tipdesc = STRINGS.PROGRAMS.PWR_MANAGER_2.TIP_DESC,
 		passive = true,
		icon = "gui/icons/programs_icons/Program0019.png",
		icon_100 = "gui/icons/programs_icons/store_icons/StorePrograms_0019.png",
        	value = 550,

		canUseAbility = function( self, sim )
			return false 	
		end,

		onSpawnAbility = function( self, sim, player )
			DEFAULT_ABILITY.onSpawnAbility( self, sim )	
            		if not player:getTraits().extraStartingPWR then
            			player:getTraits().extraStartingPWR = 0
            		end
			if not player:getTraits().PWRmaxBouns then
				player:getTraits().PWRmaxBouns = 0
			end
            		player:getTraits().extraStartingPWR = player:getTraits().extraStartingPWR + 6
			player:getTraits().PWRmaxBouns = player:getTraits().PWRmaxBouns + 10
		end,

    		onDespawnAbility = function( self, sim, player )
    			DEFAULT_ABILITY.onDespawnAbility( self, sim )	
			player:getTraits().PWRmaxBouns = player:getTraits().PWRmaxBouns - 10
    		end,
	}
    end

Then call it from the modinit. This is for vanilla, editing DLC stuff gets a bit complicated because of load order and the way modApi works. If multiple mods use this to modify the same stuff, the latest loaded mod gets final word, so compatibility code is needed for these cases. Basically what happens is, mod A adds item with modApi:addMainframeAbility, api adds it to worldgen lists, mod B edits it with modApi:addMainframeAbility, api adds it to worldgen lists again, and you end up with dupes. If lists had only pointers, then it would be fine, but they contain entire definitions. This is my way to get around all this. Note, that this applies only to edits, adding new stuff is fine.

Link to comment
Share on other sites

 

On 02.05.2017 at 2:35 AM, wodzu_93 said:

editing DLC stuff gets a bit complicated because of load order and the way modApi works

What about this dll? I used it only for agents/overlays to load them after DLC (and overlays after agents)

Link to comment
Share on other sites

I'm trying to work on a "wireless" skill for an agent so they can interface with devices from a distance. Essentially, the ability to interact with a device should work in much the same way it does with Incognita programs: as long as you know the location of a device, you can interact with it.

I've more or less gotten this down except for drones. Whenever a drone moves out of sight, you have to re-establish visual before you can directly interact with it again, even with Incognita. I haven't figured out the checks I should be doing to make this happen. For my skill, if the drone moves out of sight but is still technically in range of the agent, the tooltip will appear over the drone's location even if you can no longer see it.

Internationale's augment helped me along, but its "searching" functionality isn't 100% similar to the way that, say, Incognita programs work. Any ideas? Anyone know where the target acquisition logic for Incognita is?

Link to comment
Share on other sites

8 hours ago, PrismaticPhoton said:

I'm trying to work on a "wireless" skill for an agent so they can interface with devices from a distance. Essentially, the ability to interact with a device should work in much the same way it does with Incognita programs: as long as you know the location of a device, you can interact with it.

I've more or less gotten this down except for drones. Whenever a drone moves out of sight, you have to re-establish visual before you can directly interact with it again, even with Incognita. I haven't figured out the checks I should be doing to make this happen. For my skill, if the drone moves out of sight but is still technically in range of the agent, the tooltip will appear over the drone's location even if you can no longer see it.

Internationale's augment helped me along, but its "searching" functionality isn't 100% similar to the way that, say, Incognita programs work. Any ideas? Anyone know where the target acquisition logic for Incognita is?

local ghost = pcplayer:getLastKnownUnit( sim, unit:getID() )

if ghost:isGhost() or sim:canPlayerSeeUnit( pcplayer, unit ) then

    if sim:getCell( ghost:getLocation() ) == sim:getCell( unit:getLocation() ) then

        --ok

    end

end

If you don't want to be able to access drones that used to be in line of sight and haven't moved since, sim:canPlayerSeeUnit( pcplayer, unit ) is all you need.

Link to comment
Share on other sites

On 5/9/2017 at 10:36 PM, Cyberboy2000 said:

local ghost = pcplayer:getLastKnownUnit( sim, unit:getID() )

if ghost:isGhost() or sim:canPlayerSeeUnit( pcplayer, unit ) then

    if sim:getCell( ghost:getLocation() ) == sim:getCell( unit:getLocation() ) then

        --ok

    end

end

If you don't want to be able to access drones that used to be in line of sight and haven't moved since, sim:canPlayerSeeUnit( pcplayer, unit ) is all you need.

Thanks! I'll give this shot.

Link to comment
Share on other sites

My new ability is pretty much working now, but as a standalone ability. Its tied to the pre-existing ability "icebreak," so I need to apply my altered function calls directly to it. For some reason, I can get the new function calls to hook up but its not working right.

Spoiler

local mod_icebreak = include( "sim/abilities/icebreak")


function mod_icebreak:acquireTargets( self, targets, game, sim, unit )
    local userUnit = unit:getUnitOwner()

"userUnit" is now coming back as "nil." This function starts the exact same way the original "acquiteTargets" for icebreak did. Help?

Link to comment
Share on other sites

3 hours ago, PrismaticPhoton said:

My new ability is pretty much working now, but as a standalone ability. Its tied to the pre-existing ability "icebreak," so I need to apply my altered function calls directly to it. For some reason, I can get the new function calls to hook up but its not working right.

  Hide contents

local mod_icebreak = include( "sim/abilities/icebreak")


function mod_icebreak:acquireTargets( self, targets, game, sim, unit )
    local userUnit = unit:getUnitOwner()

"userUnit" is now coming back as "nil." This function starts the exact same way the original "acquiteTargets" for icebreak did. Help?

In the case of icebreak unit is the Buster Chip (abilityOwner) and userUnit is the agent carrying the item, but in your case it's the agent that is abilityOwner.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.