Classes

Concepts

Libraries

advertisement »

ambientSounds »

bitser »

contentPoints »

eventBoxText »

factValidity »

frameBuffer »

officeBuildingInserter »

priorityRenderer »

randomEvents »

scaling »

spritesheetParser »

statusIcons »

test3 »

util »

Objects

registerNew

Description

Registers a new rival game company.

Arguments

1 table data

the rival data.

2 string baseClass

the ID of another rival config to inherit. Optional.

Example

rivalGameCompanies.registerNew({
	id = "console_domination_1",
	name = _T("RIVAL_COMPANY_CONSOLE_DOMINATION_1", "Acts and Vision"),
	preBankruptBuyoutCostMultiplier = 50,
	startingFunds = 100000000,
	startingReputation = 180000,
	startingEmployees = {
		{role = "software_engineer", repeatFor = 10, level = {4, 6}},
		{role = "artist", repeatFor = 2, level = {4, 6}},
		{role = "manager", level = 5},
		{role = "sound_engineer", repeatFor = 2, level = 7},
		{role = "designer", repeatFor = 2, level = {5, 6}},
		{role = "writer", level = 6}
	}, -- how many employees we will generate for this studio when it first gets created

	maximumEmployees = 35, -- the maximum employees this studio can have

	ceoSkillLevels = 60, -- if a number, then will set all skills to the specified level; if a table, then each key is skill ID

	ceoLevel = 4,
	intimidationOffset = -100, -- isIntimidated = (intimidation - data.intimidationOffset) > 0, when we're intimidated, we stop doing absolutely everything we were to the player, and our anger will drop much faster while intimidated

	intimidationLossPerDay = 0.25, -- every day the player will lose this much intimidation factor on the company

	retaliationFactor = 0, -- when our anger factor exceeds this value we will be able to retaliate in some way

	angerLossPerDay = 0.5, -- every day we will lose this much anger

	angerForLegalAction = 50, -- if a player performs slander and the rival's anger level exceeds this, he will undertake legal action

	legalActionReconsiderReputationDifference = 5000, -- if the difference in lost reputation makes this distance, then the rival can offer to just stop messing with each other

	threatenDialogue = "rival_company_threaten_1",
	legalActionDialogue = "rival_company_legal_action_1",
	playerLegalActionDialogue = "player_legal_action_1",
	slander = {
		chance = 40, -- base slander chance when we're angered, rolled once every week

		minimumAnger = 5, -- minimum anger required to start a slander campaign

		cooldown = timeline.DAYS_IN_MONTH,
		chancePerAnger = 0.5, -- per each point in anger above minimumAnger we will change slander chance by this much

		chancePerIntimidation = -0.7, -- per each point in intimidation above (intimidation + intimidationOffset) we will change slander chance by this much

		chancePerSuspicion = -1 -- per each point in suspicion we will lower chance to start slander by this much

	},
	maximumEmployeeSkillRange = 15, -- the farthest we will hire a new employee who's desired skill level is greater than (ourLowestSkillLevel - THIS VALUE)

	minimumPrice = gameProject.PRICE_POINTS[1], -- in gameproject configs it's 14.99

	maximumPrice = gameProject.PRICE_POINTS[10], -- 49.99

	maximumPlatformExpirationAge = timeline.DAYS_IN_MONTH * 2, -- if a platform has expired, and it's expiration date is past this many days, then the RGC will not use the platform

	threatToPlayerOnReputation = 100000, -- when the player's reputation levels reach this much, this company will begin messing with them; if this is not defined - then this game company won't start messing, unless the player does

	employeeCirculation = {
		leaveTime = {timeline.DAYS_IN_MONTH * 6, timeline.DAYS_IN_YEAR * 5}, -- min max values of time spent in the company

	},
	employeeStealing = {
		intimidationOnPlayerStealSuccess = 10,-- change intimidation by this much when the player succeeds in stealing our employee

		angerOnPlayerStealSuccess = 8, -- change anger by this much when the player succeeds in stealing our employee

		intimidationOnPlayerStealFail = 1, -- change in intimidation by this much when the player fails in stealing our employee

		angerOnPlayerStealFail = 19, -- change in anger when player fails to steal our employee and it is reported

		failStealEmployeeRelationshipChange = -10,
		failStealEmployeeRelationshipChange = -5, -- when we try to steal their employee but fail, the relationship changes by this much

		
		intimidationOnStealSuccess = -2, -- change intimidation by this much when we succeed in stealing the player's employee

		angerOnStealSuccess = -4, -- change anger by this much when we succeed stealing the player's employee

		intimidationOnStealFail = 1, -- change intimidation by this much when we fail in stealing the player's employee

		angerOnStealFail = -5, -- change anger by this much when we fail in stealing the player's employee

		
		chance = 20, -- chance this company will attempt to steal your employee

		chancePerAnger = 0.8,
		chancePerIntimidation = -1,
		cooldown = timeline.DAYS_IN_MONTH * 4,
		minimumOfferedCash = 100, -- the difference in salary must be greater than this for there to be a stealing attempt

		maximumOfferedCash = 400, -- the maximum extra this company can pop on top when trying to steal the employee

		extraCashPerCurrentSalary = 35 / 1000, -- add X more cash per employee salary size; you're not going to lure someone away from their job by offering them $50 more, after all (unless you live in Niger)

		roundingSegment = 50 -- the segment to round the cash offer by, the lower this is, the more likely the company is to try and steal an employee

	}
})