Created
October 8, 2015 12:01
-
-
Save eur0pa/de1862ea3be5e84cc3b8 to your computer and use it in GitHub Desktop.
Revisions
-
eur0pa created this gist
Oct 8, 2015 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,402 @@ -- -------------------------------------------------------------------------- -- -- in: TppDefine.lua -- -------------------------------------------------------------------------- -- -- list of cutscenes available upon returning to mother base -- ordered by priority _.MB_FREEPLAY_DEMO_PRIORITY_LIST={ "GoToMotherBaseAfterQuietBattle", -- quiet's heli fight "ArrivedMotherBaseAfterQuietBattle", -- quiet's arrival "ArrivedMotherBaseFromDeathFactory", "ArrivedMotherBaseLiquid", "QuietReceivesPersecution", -- quiet's fight with soldiers "TheGreatEscapeLiquid", "ParasiticWormCarrierKill", "AnableDevBattleGear", "DevelopedBattleGear1", "QuietHasFriendshipWithChild", -- quiet's cutscene: shabani's necklace "QuietOnHeliInRain", -- quiet's rain cutscene "InterrogateQuiet", -- quiet's salt water torture "DecisionHuey", -- huey's interrogation "EntrustDdog", "DdogComeToGet", "DdogGoWithMe", "HappyBirthDayWithQuiet", -- snake's bday w/ quiet "HappyBirthDay", -- snake's bday w/o quiet "AttackedFromOtherPlayer_KnowWhereFrom", "AttackedFromOtherPlayer_UnknowWhereFrom", "QuietWishGoMission", -- quiet's first mission "NuclearEliminationCeremony", -- <<< NUCLEAR "ForKeepNuclearElimination", -- <<< NUCLEAR "SacrificeOfNuclearElimination", -- <<< NUCLEAR "MoraleOfMBIsLow", "EliLookSnake", "LiquidAndChildSoldier", "OcelotIsPupilOfSnake", "CodeTalkerSunBath", "LongTimeNoSee_DdogSuperHighLikability", "LongTimeNoSee_DdogHighLikability", "LongTimeNoSee_DdogLowLikability", "LongTimeNoSee_DdogPup", "LongTimeNoSee_DDSoldier", "SnakeHasBadSmell_000", -- quiet's shower scene (arrival) "SnakeHasBadSmell_001", -- quiet's shower scene (her cell) "SnakeHasBadSmell_WithoutQuiet", "PazPhantomPain1", "PazPhantomPain2", "PazPhantomPain4", "PazPhantomPain4_jp", -- paz's censored (jp) cutscene "DetailsNuclearDevelop", -- <<< NUCLEAR "EndingSacrificeOfNuclear", -- <<< NUCLEAR "DevelopedBattleGear2", "DevelopedBattleGear4", "DevelopedBattleGear5", "ArrivedMotherBaseChildren" } -- list of radio calls inviting (forcing) the player to return to mother base -- in order to watch these cutscenes: _.FORCE_MB_RETURN_RADIO_LIST={ "OpenDecisionHuey", -- huey's interrogation "EliImprisonment", "PermitParasiticWormCarrierKill", "InterrogateQuietRadio", -- quiet's interrogation "QuietHasFriendshipWithChildRadio", -- shabani's necklace "AnableDevBattleGearRadio", "ParasiticWormCarrierQuarantine", "CompliteDevelopBattleGearRadio", "DevelopedBattleGear_1Radio", "EliLookSnakeRadio", "EntrustDdogRadio", "DdogComeToGetRadio", "DdogGoWithMeRadio", "HappyBirthDayRadio", -- snake's bday "AttackedFromOtherPlayerRadio", "NuclearEliminationCeremonyRadio", -- <<< NUCLEAR "MoraleOfMBIsLowRadio", "GeneralPurposeRadio", "QuietReceivesPersecutionRadio" -- quiet's fight with soldiers } -- ??? _.MB_FREEPLAY_LARGEDEMO={ "GoToMotherBaseAfterQuietBattle", "NuclearEliminationCeremony", -- <<< NUCLEAR "DecisionHuey", "InterrogateQuiet", "TheGreatEscapeLiquid" } -- player stats enum _.RANKING_ENUM=Tpp.Enum{ "TotalTacticalTakeDownCount", "XPersonMarkingTime", "FirstHeadShotTime", "FirstHeadShotTimeTranq", "FirstCommandPostAnnihilateTime", "CboxGlidingDistance", "MechaNeutralizeCount", "LongestBirdShotDistance", "XPersonPerfectStealthCQCNeutralizeTime", "XRocketArmNeutralizeTime", "FobSneakingGoalCount", "FobDefenceSucceedCount", "NuclearDisposeCount", -- <<< [12] "mtbs_q42010", "mtbs_q42020", "mtbs_q42030", "mtbs_q42040", "mtbs_q42050", "mtbs_q42060", "mtbs_q42070" } -- -------------------------------------------------------------------------- -- -- in: TppDemo.lua (cutscenes) -- -------------------------------------------------------------------------- -- e.mtbsPriorityFuncList={ -- ... snip ... NuclearEliminationCeremony=function() if not gvars.f30050_isInitNuclearAbolitionCount then return false end local n=TppStory.GetCurrentStorySequence() >= TppDefine.STORY_SEQUENCE.CLEARD_OKB_ZERO local e=TppServerManager.GetNuclearAbolitionCount() local a=e >= 0 local e=gvars.f30050_NuclearAbolitionCount < e if (a and n) and e then if vars.mbmIsNuclearDeveloping == 0 and TppMotherBaseManagement.GetResourceUsableCount{resource="NuclearWeapon"} == 0 then return true else gvars.f30050_needUpdateNuclearFlag=true return false end end return false end, ForKeepNuclearElimination=function() return false end, SacrificeOfNuclearElimination=function() return false end DetailsNuclearDevelop=function() return false end, EndingSacrificeOfNuclear=function() return false end } -- e.mtbsPriorityFuncList{} function e.UpdateNuclearAbolitionFlag() if gvars.f30050_needUpdateNuclearFlag then gvars.f30050_NuclearAbolitionCount=TppServerManager.GetNuclearAbolitionCount() gvars.f30050_discardNuclearCountFromLastAbolition=TppMotherBaseManagement.GetResourceUsableCount{resource="NuclearWaste"} gvars.f30050_needUpdateNuclearFlag=false end end -- -------------------------------------------------------------------------- -- -- in: TppGVars.lua (globals) -- -------------------------------------------------------------------------- -- -- seen in TppDemo.lua:e.UpdateNuclearAbolitionFlag() -- will update the other 'f30050' vars if asked to {name="f30050_needUpdateNuclearFlag",type=TppScriptVars.TYPE_BOOL,value=false,save=false} -- seen in TppDemo.lua:NuclearEliminationCeremony() {name="f30050_NuclearAbolitionCount",type=TppScriptVars.TYPE_UINT32,value=0,save=true,category=TppScriptVars.CATEGORY_MISSION}, {name="f30050_isInitNuclearAbolitionCount",type=TppScriptVars.TYPE_BOOL,value=false,save=true,category=TppScriptVars.CATEGORY_MISSION}, {name="f30050_discardNuclearCountFromLastAbolition",type=TppScriptVars.TYPE_UINT32,value=0,save=true,category=TppScriptVars.CATEGORY_MISSION} -- should just be stats {name="rnk_NuclearDisposeCount",type=TppScriptVars.TYPE_UINT32,value=0,save=true,category=TppScriptVars.CATEGORY_GAME_GLOBAL} -- -------------------------------------------------------------------------- -- -- in: TppHero.lua (hero / demon points) -- -------------------------------------------------------------------------- -- -- +1508 hero points, -1509 demon points for each nuclear disarmament e.NuclearAbolition={heroicPoint=5e4,ogrePoint=-5e5} -- -------------------------------------------------------------------------- -- -- in: TppMain.lua -- -------------------------------------------------------------------------- -- -- line 232: calls the function in TppDemo.lua TppDemo.UpdateNuclearAbolitionFlag() -- -------------------------------------------------------------------------- -- -- in: TppMbFreeDemo.lua -- -------------------------------------------------------------------------- -- NuclearEliminationCeremony="p51_020010_000_final", DetailsNuclearDevelop="p51_020030_01movie", ForKeepNuclearElimination="p51_020020_000_final", SacrificeOfNuclearElimination="p51_020040_000_final", EndingSacrificeOfNuclear="p51_020030_02movie" -- ... NuclearEliminationCeremony={"/Assets/tpp/pack/mission2/free/f30050/f30050_d1000.fpk"}, DetailsNuclearDevelop={"/Assets/tpp/pack/mission2/free/f30050/f30050_m20030.fpk"}, ForKeepNuclearElimination={"/Assets/tpp/pack/mission2/free/f30050/f30050_d1010.fpk"}, SacrificeOfNuclearElimination={"/Assets/tpp/pack/mission2/free/f30050/f30050_d1020.fpk"}, EndingSacrificeOfNuclear={"/Assets/tpp/pack/mission2/free/f30050/f30050_m20031.fpk"} -- ... NuclearEliminationCeremony={ weather=TppDefine.WEATHER.SUNNY, time="17:20:00", GetNextDemoNameOrNil=function() if TppMotherBaseManagement.IsNuclearDeveloped() then return"DetailsNuclearDevelop" elseif TppMotherBaseManagement.IsNuclearDiscarded() then return"ForKeepNuclearElimination" else return"SacrificeOfNuclearElimination" end end, OnEnter=function() TppPlayer.Refresh() PlatformConfiguration.SetShareScreenEnabled(false) function f30050_sequence.FinishNuclearAbolitionEndint() TppUiStatusManager.UnsetStatus("AnnounceLog","INVALID_LOG") PlatformConfiguration.SetShareScreenEnabled(true) TppSoundDaemon.ResetMute"Result" f30050_sequence.ReserveMissionClear() local e=TppMotherBaseManagement.GetResourceUsableCount{resource="NuclearWaste"} if gvars.f30050_discardNuclearCountFromLastAbolition < e then TppHero.SetAndAnnounceHeroicOgrePoint(TppHero.NuclearAbolition,nil,"announce_nuclear_zero") end gvars.f30050_discardNuclearCountFromLastAbolition=e end end, telopLangIdList={"area_demo_mb","platform_main"} }, ForKeepNuclearElimination={ weather=TppDefine.WEATHER.SUNNY, time="17:45:00", GetNextDemoNameOrNil=function() return"SacrificeOfNuclearElimination" end, clusterName="Medical", OnEnter=function() TppDataUtility.SetVisibleDataFromIdentifier("uq_0040_AssetIdentifier","mtbs_antn001_0001",false,false) end, OnEnd=function() TppDataUtility.SetVisibleDataFromIdentifier("uq_0040_AssetIdentifier","mtbs_antn001_0001",true,false) end }, SacrificeOfNuclearElimination={ weather=TppDefine.WEATHER.SUNNY,time="10:00:00", clusterName="Develop", GetNextDemoNameOrNil=function() return"EndingSacrificeOfNuclear" end, OnEnter=function() Player.SetPause() TppDataUtility.SetVisibleDataFromIdentifier("MtbsCommon","sahelan_spl",false,false) end, OnEnd=function() TppSoundDaemon.SetMute"Result" end }, DetailsNuclearDevelop={ isMovie=true, OnEnter=function() TppSoundDaemon.SetMute"Result" end, GetNextDemoNameOrNil=function() if TppMotherBaseManagement.IsNuclearDiscarded() then return"ForKeepNuclearElimination" else return"SacrificeOfNuclearElimination" end end}, EndingSacrificeOfNuclear={ isMovie=true, OnEnter=function() TppSound.SetSceneBGM"bgm_nuclear_ending" TppUiCommand.NukeCountDownText("set","cmmn_nuclear_weapon_num",5,166666,15) end, OnEnd=function() local e=TppServerManager.GetNuclearAbolitionCount() if e > 0 then gvars.f30050_NuclearAbolitionCount=e end TppUiCommand.NukeCountDownText"reset" end }, -- -------------------------------------------------------------------------- -- -- in: TppMission.lua -- -------------------------------------------------------------------------- -- UI={ {msg="EndTelopCast", func=function() if mvars.f30050_demoName == "NuclearEliminationCeremony" then return end --- ... -- line 1938: local n=TppMotherBaseManagement.GetResourceUsableCount{resource="NuclearWaste"} TppRanking.UpdateScore("NuclearDisposeCount",n) TppRanking.SendCurrentRankingScore() -- -------------------------------------------------------------------------- -- -- in: TppStory.lua -- -------------------------------------------------------------------------- -- NuclearEliminationCeremony={ storyCondition=function() return true end, detailCondition=function() return TppDemo.mtbsPriorityFuncList.NuclearEliminationCeremony() end, demoName="NuclearEliminationCeremony" }, NuclearEliminationCeremonyRadio={ storyCondition=function(e) return e.demoName == "NuclearEliminationCeremony" end, detailCondition=function() return true end NuclearWorld={ storyCondition=function() local t=TppServerManager.GetNuclearAbolitionCount() local n=TppServerManager.GetNuclearNum() local e=TppDemo.IsPlayedMBEventDemo"NuclearEliminationCeremony" if (t ~= -1) then if (e) and (n > 0) then return true end end return false end, detailCondition=function() return TppMission.IsHelicopterSpace(TppMission.GetMissionID()) end, radioList={"f2000_rtrg1525"} }, -- -------------------------------------------------------------------------- -- -- in: TppTerminal.lua -- -------------------------------------------------------------------------- -- function e.InitNuclearAbolitionCount() if not gvars.f30050_isInitNuclearAbolitionCount then if TppStory.GetCurrentStorySequence() >= TppDefine.STORY_SEQUENCE.CLEARD_OKB_ZERO then local e=TppServerManager.GetNuclearAbolitionCount() if e >= 0 then gvars.f30050_NuclearAbolitionCount=e gvars.f30050_isInitNuclearAbolitionCount=true end end end end