protected virtual void EffectSkillGUI() { atk.involvedItem = EditorGUIExt.PickAssetGUI <Item>("Involved Item", atk.involvedItem); if (Formula.NotNullFormula(atk.delay) && !(atk.delay.formulaType == FormulaType.Constant && atk.delay.constantValue == 0)) { atk.scheduledEffects = EditorGUIExt.StatEffectGroupGUI("On-Scheduled Effect", atk.scheduledEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl); } atk.applicationEffects = EditorGUIExt.StatEffectGroupGUI("Per-Application Effect", atk.applicationEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl); atk.targetEffects = EditorGUIExt.StatEffectGroupsGUI("Application Effect Group", atk.targetEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl); }
protected override void EffectSkillGUI() { if ((patk.mergeInvolvedItem = MergeChoiceGUI("Involved Item", patk.mergeInvolvedItem)) != MergeMode.UseOriginal) { atk.involvedItem = EditorGUIExt.PickAssetGUI <Item>("Involved Item", atk.involvedItem); } if ((patk.mergeScheduledEffects = MergeListChoiceGUI("On-Scheduled Effects", patk.mergeScheduledEffects)) != MergeModeList.UseOriginal) { atk.scheduledEffects = EditorGUIExt.StatEffectGroupGUI("On-Scheduled Effect", atk.scheduledEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl); } if ((patk.mergeApplicationEffects = MergeListChoiceGUI("Per-Application Effects", patk.mergeApplicationEffects)) != MergeModeList.UseOriginal) { atk.applicationEffects = EditorGUIExt.StatEffectGroupGUI("Per-Application Effect", atk.applicationEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl); } if ((patk.mergeTargetEffects = MergeListChoiceGUI("Per-Target Effects", patk.mergeTargetEffects)) != MergeModeList.UseOriginal) { atk.targetEffects = EditorGUIExt.StatEffectGroupsGUI("Application Effect Group", atk.targetEffects, StatEffectContext.Action, "" + atk.GetInstanceID(), formulaOptions, lastFocusedControl); } }
protected void ReactionSkillGUI() { s.reactionSkill = EditorGUILayout.Toggle( "Reaction Skill", s.reactionSkill ); if (s.reactionSkill) { GUILayout.Label("Reaction Triggers"); EditorGUILayout.HelpBox( "e.g. \"applied loses health\"", MessageType.Info ); s.reactionStatChangesApplied = EditorGUIExt.StatChangeFoldout( "Stat Change (Applied)", s.reactionStatChangesApplied, ref showReactionStatChangesApplied ); EditorGUILayout.HelpBox( "e.g. \"applied is hit by geomancy\"", MessageType.Info ); s.reactionTypesApplied = EditorGUIExt.ArrayFoldout( "Reactable Type (Applied)", s.reactionTypesApplied, ref showReactionTypesApplied, false, -1, "attack" ); EditorGUILayout.HelpBox( "e.g. \"applier loses MP\"", MessageType.Info ); s.reactionStatChangesApplier = EditorGUIExt.StatChangeFoldout( "Stat Change (Applier)", s.reactionStatChangesApplier, ref showReactionStatChangesApplier ); EditorGUILayout.HelpBox( "e.g. \"applier receives vampirism bonus\"", MessageType.Info ); s.reactionTypesApplier = EditorGUIExt.ArrayFoldout( "Reactable Type (Applier)", s.reactionTypesApplier, ref showReactionTypesApplier, false, -1, "attack" ); //reaction region //reaction effects s.reactionTargetRegion = EditorGUIExt.RegionGUI( "Reaction Target", s.name + ".reaction", s.reactionTargetRegion, formulaOptions, lastFocusedControl, Screen.width - 32 ); s.reactionEffectRegion = EditorGUIExt.RegionGUI( "Reaction Effect", s.name + ".reaction", s.reactionEffectRegion, formulaOptions, lastFocusedControl, Screen.width - 32 ); s.reactionApplicationEffects = EditorGUIExt.StatEffectGroupGUI( "Per-Reaction Effect", s.reactionApplicationEffects, StatEffectContext.Action, "" + s.GetInstanceID(), formulaOptions, lastFocusedControl ); s.reactionEffects = EditorGUIExt.StatEffectGroupsGUI( "Per-Target Effect Group", s.reactionEffects, StatEffectContext.Action, "" + s.GetInstanceID(), formulaOptions, lastFocusedControl ); EditorGUILayout.Space(); } }