
A Hat in Time Script Repository
(v0.5)
Code viewer
Has Modded Contract (Kismet)
#Kismet
Modified @ 2025-08-28 16:01:46
Checks if you have a modded Snatcher Contract! (AKA: Checks for mod Death Wishes!)
ContractClassName: The class name of the contract you're searching for.
ContractClassPackage: The class' package name. For reference, this would be the CompiledScripts file name, or the original mod folder name.
It'll return true if the class loads, and the contract is active!
/** * * Copyright 2012-2015 Gears for Breakfast ApS. All Rights Reserved. */ class Ink_SeqCond_HasModContract extends SequenceCondition; var() string ContractClassName, ContractClassPackage; var() bool ContractIsComplete; event Activated() { local class<Hat_SnatcherContract> ContractClass; ContractClass = class<Hat_SnatcherContract>(class'Hat_ClassHelper'.static.ClassFromName(ContractClassName, ContractClassPackage)); OutputLinks[HasContract(ContractClass, ContractIsComplete) ? 0 : 1].bHasImpulse = true; } static function bool HasContract( class<Hat_SnatcherContract> Contract, optional bool CompletedOnly) { local Hat_SaveGame SaveGame; if (Contract == None) return false; if (class<Hat_SnatcherContract_DeathWish>(Contract) != None) return class<Hat_SnatcherContract_DeathWish>(Contract).static.IsActive(); SaveGame = Hat_SaveGame(`SaveManager.SaveData); if (SaveGame == None) return false; return ( (!CompletedOnly && SaveGame.SnatcherContracts.Find(Contract) != INDEX_NONE) || (SaveGame.CompletedSnatcherContracts.Find(Contract) != INDEX_NONE) || (SaveGame.TurnedInSnatcherContracts.Find(Contract) != INDEX_NONE) ); } defaultproperties { ObjName="Has Mod Contract" OutputLinks(0)=(LinkDesc="True") OutputLinks(1)=(LinkDesc="False") ContractClassPackage = "HatInTimeGameContent" }