Classes

Concepts

Libraries

advertisement »

ambientSounds »

bitser »

contentPoints »

eventBoxText »

factValidity »

frameBuffer »

officeBuildingInserter »

priorityRenderer »

randomEvents »

scaling »

spritesheetParser »

statusIcons »

test3 »

util »

Objects

registerTopic

Description

Register a new topic to talk about.

Arguments

1 table data

the data.

2 string inherit

optional ID of another topic data to inherit.

Example

-- taken from game/developer/conversations/generic.lua


local discussRaise = {}
discussRaise.id = "received_raise"
discussRaise.maxDiscussTime = timeline.DAYS_IN_MONTH * 2
discussRaise.lastRaiseConvoTimeFact = "last_raise_convo"
discussRaise.displayText = {
	_T("RECEIVED_RAISE_CONVO_1", "Did you get that raise yet?"),
	_T("RECEIVED_RAISE_CONVO_2", "How about that raise you mentioned, you get it yet?")
}

function discussRaise:begin(initiator)
	discussRaise.baseClass.begin(self, initiator)
	initiator:getConversationTarget():setFact(discussRaise.lastRaiseConvoTimeFact, timeline.curTime)
end

function discussRaise:isTopicValid(initiator, target)
	if initiator:isPlayerCharacter() then
		return
	end
	
	local lastTime = target:getFact(discussRaise.lastRaiseConvoTimeFact)
	
	if lastTime and lastTime + discussRaise.maxDiscussTime > timeline.curTime then
		return false
	end
	
	local time = target:getLastRaiseTime()
	
	return time and time + discussRaise.maxDiscussTime > timeline.curTime
end

conversations:registerTopic(discussRaise)