Commit 5dc887f7 authored by 18김민수's avatar 18김민수

Event update

parent 17fb68f3
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
namespace ISEKAI_Model
{
......@@ -41,6 +42,8 @@ namespace ISEKAI_Model
public abstract EventLocation location { get; }
public abstract List<Command> script { get; }
public string characterName = null; //null if forced event or no character.
public Game game {get; private set;}
private Season _seasonMadeIn = Season.None;
protected abstract bool exclusiveCondition(); // exclusive emergence condition of each event.
......@@ -91,22 +94,23 @@ namespace ISEKAI_Model
Season beforeSeason = game.turn.season;
status = EventStatus.Completed;
game.turn.totalMonthNumber += cost;
game.Proceed(beforeSeason);
game.OccurEvents();
/*
if (beforeSeason != game.turn.season)
game.Proceed();
*/
for (int i = 0; i < HowManySeasonsHavePassed(beforeSeason, game.turn.season); i++)
game.Proceed();
{
//game.Proceed();
Debug.Log(game.turn.state + "asdf");
}
game.OccurEvents();
*/
}
private int HowManySeasonsHavePassed(Season before, Season after)
{
if (after >= before)
return after - before;
else
return after - before + 4;
}
}
}
......@@ -13,19 +13,27 @@ namespace ISEKAI_Model
town = new Town();
_InitEvents();
OccurEvents();
Proceed();
Proceed(turn.season);
}
public int remainAP => 3 - ((turn.monthNumber + 1) % 3); // remaining AP of the game.
public Town town {get; private set;} // main town of the game. see Town class.
public Turn turn {get; private set; } // indicating season, turn number, etc. see Turn class.
public bool isMineUnlocked = false;
public bool isFarmUnlocked = false;
public bool isIronActivated = false;
public bool isHorseActivated = false;
public bool isArrowWeaponActivated = false;
public bool isBowActivated = false;
public bool isRifleActivated = false;
public bool isKnightActivated = false;
public bool bomRifleManHPModifier = false;
public bool bomRifleManAtkModifier = false;
public bool horseRaisingKnightModifier = false;
public int rifleAmount = 0;
public int castleHP = 0;
public Dictionary<string, List<(int, int)>> choiceHistories = new Dictionary<string, List<(int, int)>>(); // <item1>th choice, selected <item2>th branch. (0-based)
......@@ -57,26 +65,91 @@ namespace ISEKAI_Model
{
//allEventsList.Add(new Prolog_1(this));
//allEventsList.Add(new Prolog_2(this));
//allEventsList.Add(new DeadEnd(this));
//allEventList.Add(new Ending(this));
allEventsList.Add(new ReturnWarning(this));
allEventsList.Add(new DeadEnd(this));
allEventsList.Add(new Ending(this));
allEventsList.Add(new Farming_1(this));
allEventsList.Add(new Farming_2(this));
allEventsList.Add(new Farming_3(this));
//allEventsList.Add(new NKScout(this));
allEventsList.Add(new NKScout(this));
allEventsList.Add(new NKAgent_1(this));
allEventsList.Add(new NKAgent_2(this));
allEventsList.Add(new NKAgent_3(this));
allEventsList.Add(new NKAgent_4(this));
allEventsList.Add(new NKAgentInterlude_1(this));
allEventsList.Add(new NKAgentInterlude_2(this));
allEventsList.Add(new HorseRaising_1(this));
allEventsList.Add(new HorseRaising_2(this));
allEventsList.Add(new HorseRaising_3(this));
allEventsList.Add(new HorseRaising_4(this));
allEventsList.Add(new Hunting_1(this));
allEventsList.Add(new Hunting_2(this));
allEventsList.Add(new Hunting_3(this));
allEventsList.Add(new Mine_1(this));
allEventsList.Add(new Mine_2(this));
allEventsList.Add(new Mine_3(this));
allEventsList.Add(new Mine_4(this));
allEventsList.Add(new Mine_Repeat(this));
allEventsList.Add(new Blesphemy_1(this));
allEventsList.Add(new Blesphemy_2(this));
allEventsList.Add(new Blasphemy_1(this));
allEventsList.Add(new Blasphemy_2(this));
allEventsList.Add(new CastleBuilding_1(this));
allEventsList.Add(new CastleBuilding_2(this));
}
public void Proceed() // if you want to move on (next season, or next turn), just call it.
private int _HowManySeasonsHavePassed(Season before, Season after)
{
if (after >= before)
return after - before;
else
return after - before + 4;
}
public void Proceed(Season startSeason) // from startSeason to current season, it Proceeds.
{
Season _startSeason = startSeason;
for (int i = 0; i < _HowManySeasonsHavePassed(_startSeason, turn.season); i++)
{
switch (turn.state)
{
case State.PreTurn:
_DoPreTurnBehavior();
turn.MoveToNextState();
break;
case State.InTurn:
if (_startSeason == Season.Winter || _startSeason == Season.Summer)
{
_startSeason = _MoveToNextSeason(_startSeason);
break;
}
else
{
turn.MoveToNextState();
--i;
break;
}
case State.PostTurn:
_DoPostTurnBehavior();
_startSeason = _MoveToNextSeason(_startSeason);
--i;
break;
}
}
/*
Debug.Log(turn.state + " " + turn.season);
switch (turn.state)
{
case State.PreTurn:
......@@ -102,24 +175,37 @@ namespace ISEKAI_Model
Proceed();
break;
}
*/
}
private Season _MoveToNextSeason(Season season)
{
switch (season)
{
case Season.Winter:
return Season.Spring;
case Season.Spring:
return Season.Summer;
case Season.Summer:
return Season.Autumn;
case Season.Autumn:
return Season.Winter;
default:
throw new InvalidOperationException("asdfadf");
}
}
private void _DoPreTurnBehavior()
{
//Console.WriteLine ("This is PreTurn.");
//remainAP = maxAP;
town.AddFoodProduction();
town.ApplyResourcesChange();
//OccurEvents();
town.ApplyPreTurnChange();
_SetAllEventActivable();
}
private void _DoPostTurnBehavior()
{
//Console.WriteLine ("This is PostTurn");
town.ConsumeFood();
town.ApplyResourcesChange();
turn.MoveToNextState();
//turn.MoveToNextSeason();
town.ApplyPostTurnChange();
turn.IncreaseTurnNumber();
_ReduceEveryEventsTurnsLeft();
}
......@@ -210,7 +296,6 @@ namespace ISEKAI_Model
{
foreach (EventCore e in allEventsList)
{
Debug.Log(e.eventName + " " + e.status + " " + e.SeasonCheck());
if (e.status == EventStatus.Completed)
continue;
if (e.isForcedEvent && e.IsFirstVisible())
......
......@@ -52,11 +52,18 @@ namespace ISEKAI_Model
throw new InvalidOperationException("You can't consume negative value. Try using AddFoodProduction().");
remainFoodAmount -= toConsume;
}
public void ApplyResourcesChange() // apply current pleasant change to total pleasant amount.
public void ApplyPreTurnChange()
{
AddFoodProduction();
}
public void ApplyPostTurnChange()
{
totalPleasantAmount = Math.Max(0, Math.Min(200, totalPleasantAmount + pleasantChange));
totalIronAmount += totalIronProduction;
totalHorseAmount += totalHorseProduction;
ConsumeFood();
}
}
}
\ No newline at end of file
using System;
using UnityEngine;
namespace ISEKAI_Model
{
......@@ -18,7 +19,6 @@ namespace ISEKAI_Model
turnNumber = 1;
totalMonthNumber = 4;
state = State.PreTurn;
year = 1994;
}
public Season season { get
{
......@@ -46,7 +46,7 @@ namespace ISEKAI_Model
}
}
public State state {get; private set;}
public int year {get; private set;}
public int year => 1994 + ((turnNumber - 1) / 2);
public int turnNumber { get; private set; }
public int totalMonthNumber;
public int monthNumber => totalMonthNumber % 12;
......@@ -82,28 +82,7 @@ namespace ISEKAI_Model
return (season == Season.Winter || season == Season.Summer);
}
/*public void MoveToNextSeason() // Not recommended to call manually. Only called by Proceed().
{
switch (season)
{
case Season.Winter:
season = Season.Spring;
year++;
break;
case Season.Spring:
season = Season.Summer;
break;
case Season.Summer:
season = Season.Autumn;
break;
case Season.Autumn:
season = Season.Winter;
break;
}
}*/
public void MoveToNextState() // Not recommended to call manually. Only called by Proceed().
{
......
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class Blasphemy_1 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "개종 이벤트 1"; } }
public override EventLocation location { get { return EventLocation.TownWitchHouse; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Blasphemy_1.txt"); } } // command list.
protected override bool exclusiveCondition()
{
bool turnCondition = game.turn.turnNumber >=2;
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 2;
if (_isFirstOccur && turnCondition)
{
_isFirstOccur = false;
return turnCondition;
}
else
{
if (_isFirstOccur)
return false;
return turnCondition && chanceCondition;
}
}
private bool _isFirstOccur = true;
public Blasphemy_1(Game game): base(game)
{
characterName = "노파";
}
public override void Complete()
{
game.town.totalPleasantAmount += 5;
base.Complete();
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: bc9a07a3a2955d64bb1413f4a974af3f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class Blasphemy_2 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "개종 이벤트 2"; } }
public override EventLocation location { get { return EventLocation.TownWitchHouse; } }
public override int givenMaxTurn { get { return 2; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Blasphemy_2.txt"); } } // command list.
protected override bool exclusiveCondition()
{
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 2;
bool prevCondition = game.allEventsList.Find(e => e.eventName == "개종 이벤트 1").status == EventStatus.Completed;
if (_isFirstOccur && prevCondition)
{
_isFirstOccur = false;
return prevCondition;
}
else
{
if (_isFirstOccur)
return false;
return prevCondition && chanceCondition;
}
}
private bool _isFirstOccur = true;
public Blasphemy_2(Game game): base(game)
{
characterName = "임페리우스";
}
public override void Complete()
{
game.town.totalPleasantAmount += 10;
game.town.pleasantChangeAddition += 20;
base.Complete();
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 56c01ac2aa3041e48835b6d41f48629b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class CastleBuilding_1 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "성 쌓기 이벤트 1"; } }
public override EventLocation location { get { return EventLocation.TaskLeaderHouse; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 5; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/CastleBuilding_1.txt"); } } // command list.
protected override bool exclusiveCondition()
{
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 0;
bool prevCondition = game.allEventsList.Find(e => e.eventName == "농사 이벤트 3").status == EventStatus.Completed &&
game.allEventsList.Find(e => e.eventName.Equals("당의 귀환 경고")).status == EventStatus.Completed;
if (_isFirstOccur && prevCondition)
{
_isFirstOccur = false;
return prevCondition;
}
else
{
if (_isFirstOccur)
return false;
return prevCondition && chanceCondition;
}
}
private bool _isFirstOccur = true;
public CastleBuilding_1(Game game): base(game)
{
characterName = "작업반장";
}
public override void Complete()
{
base.Complete();
game.town.totalPleasantAmount -= 40;
game.town.ConsumeFood(200);
game.town.totalFoodProduction -= 30;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 71c1d38878226574fa7890390972ab3f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class CastleBuilding_2 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "성 쌓기 이벤트 2"; } }
public override EventLocation location { get { return EventLocation.TechGuideStaffHouse; } }
public override int givenMaxTurn { get { return 2; } }
public override int cost { get { return 6; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/CastleBuilding_2.txt"); } } // command list.
protected override bool exclusiveCondition()
{
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 0;
bool prevCondition = game.allEventsList.Find(e => e.eventName == "성 쌓기 이벤트 1").status == EventStatus.Completed;
if (_isFirstOccur && prevCondition)
{
_isFirstOccur = false;
return prevCondition;
}
else
{
if (_isFirstOccur)
return false;
return prevCondition && chanceCondition;
}
}
private bool _isFirstOccur = true;
public CastleBuilding_2(Game game): base(game)
{
characterName = "작업반장";
}
public override void Complete()
{
base.Complete();
game.town.totalPleasantAmount -= 50;
game.town.ConsumeFood(300);
game.town.totalFoodProduction -= 30;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 7ba0a2bcfdaf1cd4891013d73579aced
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -11,7 +11,7 @@ namespace ISEKAI_Model
public override int givenMaxTurn { get { return 10; } }
public override int cost { get { return 0; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Prolog_1.txt"); } } // command list.
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Ending.txt"); } } // command list.
protected override bool exclusiveCondition()
{
......
......@@ -12,10 +12,10 @@ namespace ISEKAI_Model
public override string eventName { get { return "농사 이벤트 1"; } }
public override EventLocation location { get { return EventLocation.Field; } }
public override int givenMaxTurn { get { return 1; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.Spring; } }
public override int cost { get { return 4; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Farming_1.txt"); } } // command list.
protected override bool exclusiveCondition()
{
return true;
......@@ -23,7 +23,7 @@ namespace ISEKAI_Model
public Farming_1(Game game): base(game)
{
characterName = "선녀짱";
}
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ISEKAI_Model
{
public class Farming_2 : EventCore
......@@ -12,8 +8,8 @@ namespace ISEKAI_Model
public override string eventName { get { return "농사 이벤트 2"; } }
public override EventLocation location { get { return EventLocation.Field; } }
public override int givenMaxTurn { get { return 1; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.Summer; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.Autumn; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Farming_2.txt"); } } // command list.
protected override bool exclusiveCondition()
......@@ -23,7 +19,7 @@ namespace ISEKAI_Model
public Farming_2(Game game) : base(game)
{
characterName = "선녀짱";
}
}
}
......@@ -10,7 +10,7 @@ namespace ISEKAI_Model
public override EventLocation location { get { return EventLocation.Field; } }
public override int givenMaxTurn { get { return 1; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.Autumn; } }
public override Season availableSeason { get { return Season.Spring; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Farming_3.txt"); } } // command list.
protected override bool exclusiveCondition()
......
using System;
using System.Collections.Generic;
namespace ISEKAI_Model
{
public class HorseRaising_1 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "말 기르기 이벤트 1"; } }
public override EventLocation location { get { return EventLocation.TaskLeaderHouse; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 1; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/HorseRaising_1.txt"); } } // command list.
protected override bool exclusiveCondition()
{
bool prevCondition = game.allEventsList.Find(e => e.eventName.Equals("농사 이벤트 3")).status == EventStatus.Completed;
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 2;
return prevCondition && chanceCondition;
}
public HorseRaising_1(Game game): base(game)
{
characterName = "작업반장";
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: ae03a3c6498c1624eb71d9355e3238d4
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
namespace ISEKAI_Model
{
public class HorseRaising_2 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "말 기르기 이벤트 2"; } }
public override EventLocation location { get { return EventLocation.BackMount; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/HorseRaising_2.txt"); } } // command list.
protected override bool exclusiveCondition()
{
bool turnCondition = game.turn.turnNumber >= 3 && game.turn.turnNumber <= 10;
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 2;
bool prevCondition = game.allEventsList.Find(e => e.eventName == "말 기르기 이벤트 1").status == EventStatus.Completed;
if (_isFirstOccur && turnCondition && prevCondition)
{
_isFirstOccur = false;
return turnCondition && prevCondition;
}
else
{
if (_isFirstOccur)
return false;
return prevCondition && turnCondition && chanceCondition;
}
}
private bool _isFirstOccur = true;
public HorseRaising_2(Game game): base(game)
{
characterName = "통계원";
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 4914270f7b66e93488286b9d1a7360f1
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
namespace ISEKAI_Model
{
public class HorseRaising_3 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "말 기르기 이벤트 3"; } }
public override EventLocation location { get { return EventLocation.BackMount; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/HorseRaising_3.txt"); } } // command list.
protected override bool exclusiveCondition()
{
bool turnCondition = game.turn.turnNumber >= 3 && game.turn.turnNumber <= 10;
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 2;
bool prevCondition = game.allEventsList.Find(e => e.eventName == "말 기르기 이벤트 2").status == EventStatus.Completed;
if (_isFirstOccur && turnCondition && prevCondition)
{
_isFirstOccur = false;
return turnCondition && prevCondition;
}
else
{
if (_isFirstOccur)
return false;
return prevCondition && turnCondition && chanceCondition;
}
}
private bool _isFirstOccur = true;
public HorseRaising_3(Game game): base(game)
{
characterName = "통계원";
}
public override void Complete()
{
base.Complete();
game.town.totalHorseAmount += 2;
game.town.totalHorseProduction += 0.25f;
game.isFarmUnlocked = true;
game.isKnightActivated = true;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 868aea58bc22b984ebb08c3e64f067af
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
namespace ISEKAI_Model
{
public class HorseRaising_4 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "말 기르기 이벤트 4"; } }
public override EventLocation location { get { return EventLocation.Farm; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/HorseRaising_4.txt"); } } // command list.
protected override bool exclusiveCondition()
{
bool turnCondition = game.turn.turnNumber >= 3 && game.turn.turnNumber <= 10;
int chance = (new Random()).Next() / 10;
bool chanceCondition = chance <= 2;
bool prevCondition = game.allEventsList.Find(e => e.eventName == "말 기르기 이벤트 3").status == EventStatus.Completed;
if (_isFirstOccur && turnCondition && prevCondition)
{
_isFirstOccur = false;
return turnCondition && prevCondition;
}
else
{
if (_isFirstOccur)
return false;
return prevCondition && turnCondition && chanceCondition;
}
}
private bool _isFirstOccur = true;
public HorseRaising_4(Game game): base(game)
{
characterName = "선녀짱";
}
public override void Complete()
{
base.Complete();
game.horseRaisingKnightModifier = true;
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: cbaebfed3cb2c2449aa69ea04908739b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -12,7 +12,7 @@ namespace ISEKAI_Model
public override string eventName { get { return "사냥 이벤트 1"; } }
public override EventLocation location { get { return EventLocation.BackMount; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 1; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Hunting_1.txt"); } } // command list.
......@@ -38,7 +38,7 @@ namespace ISEKAI_Model
public Hunting_1(Game game): base(game)
{
characterName = "마을 사람";
}
public override void Complete()
......
......@@ -12,7 +12,7 @@ namespace ISEKAI_Model
public override string eventName { get { return "사냥 이벤트 2"; } }
public override EventLocation location { get { return EventLocation.CarpenterHouse; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 1; } }
public override int cost { get { return 5; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Hunting_2.txt"); } } // command list.
......@@ -39,7 +39,19 @@ namespace ISEKAI_Model
public Hunting_2(Game game): base(game)
{
characterName = "목수";
}
public override void Complete()
{
game.isArrowWeaponActivated = true;
int bowOrCrossBow = game.TryGetChoiceHistory("사냥 이벤트 2", 0);
if (bowOrCrossBow == 0)
game.isBowActivated = true;
else
game.isBowActivated = false;
base.Complete();
}
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
......@@ -12,7 +9,7 @@ namespace ISEKAI_Model
public override string eventName { get { return "사냥 이벤트 3"; } }
public override EventLocation location { get { return EventLocation.BackMount; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 1; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Hunting_3.txt"); } } // command list.
......@@ -39,7 +36,7 @@ namespace ISEKAI_Model
public Hunting_3(Game game): base(game)
{
characterName = "선녀짱";
}
public override void Complete()
......
......@@ -38,7 +38,7 @@ namespace ISEKAI_Model
public Mine_1(Game game): base(game)
{
characterName = "작업반장";
}
}
}
\ No newline at end of file
......@@ -25,7 +25,7 @@ namespace ISEKAI_Model
public Mine_2(Game game): base(game)
{
characterName = "작업반장";
}
}
}
\ No newline at end of file
......@@ -12,7 +12,7 @@ namespace ISEKAI_Model
public override string eventName { get { return "광산 이벤트 3"; } }
public override EventLocation location { get { return EventLocation.FrontMount; } }
public override int givenMaxTurn { get { return -1; } }
public override int cost { get { return 3; } }
public override int cost { get { return 5; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Mine_3.txt"); } } // command list.
......@@ -21,11 +21,9 @@ namespace ISEKAI_Model
return game.allEventsList.Find(e => e.eventName.Equals("광산 이벤트 2")).status == EventStatus.Completed;
}
private bool _isFirstOccur = true;
public Mine_3(Game game): base(game)
{
characterName = "선녀짱";
}
public override void Complete()
{
......
......@@ -12,7 +12,7 @@ namespace ISEKAI_Model
public override string eventName { get { return "광산 이벤트 4"; } }
public override EventLocation location { get { return EventLocation.FrontMount; } }
public override int givenMaxTurn { get { return -1; } }
public override int cost { get { return 2; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Mine_4.txt"); } } // command list.
......@@ -26,11 +26,12 @@ namespace ISEKAI_Model
public Mine_4(Game game): base(game)
{
characterName = "선녀짱";
}
public override void Complete()
{
game.isRifleActivated = true;
game.rifleAmount += 5;
base.Complete();
}
......
......@@ -12,7 +12,7 @@ namespace ISEKAI_Model
public override string eventName { get { return "철광석 캐기 이벤트"; } }
public override EventLocation location { get { return EventLocation.Mine; } }
public override int givenMaxTurn { get { return -1; } }
public override int cost { get { return 0; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Mine_Repeat.txt"); } } // command list.
......@@ -23,7 +23,7 @@ namespace ISEKAI_Model
public Mine_Repeat(Game game): base(game)
{
characterName = "기술지도원";
}
public override void Complete()
......
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class NKAgentInterlude_1 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "봄이 루트 Interlude 1"; } }
public override EventLocation location { get { return EventLocation.TownSquare; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/NKAgentInterlude_1.txt"); } } // command list.
protected override bool exclusiveCondition()
{
return game.allEventsList.Find(e => e.eventName.Equals("봄이 루트 이벤트 4")).status == EventStatus.Completed &&
game.allEventsList.Find(e => e.eventName.Equals("광산 이벤트 4")).status == EventStatus.Completed;
}
public override void Complete()
{
base.Complete();
game.bomRifleManAtkModifier = true;
}
public NKAgentInterlude_1(Game game): base(game)
{
characterName = "봄이짱";
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 2334a2f32fbf52b4ebb9db9f30ce9435
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class NKAgentInterlude_2 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "봄이 루트 Interlude 2"; } }
public override EventLocation location { get { return EventLocation.TownSquare; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 3; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/NKAgentInterlude_2.txt"); } } // command list.
protected override bool exclusiveCondition()
{
return game.allEventsList.Find(e => e.eventName.Equals("봄이 루트 Interlude 1")).status == EventStatus.Completed;
}
public override void Complete()
{
base.Complete();
game.bomRifleManHPModifier = true;
}
public NKAgentInterlude_2(Game game): base(game)
{
characterName = "봄이짱";
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: a7f3dc948a721d94ea8621d3811d9273
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -12,9 +12,9 @@ namespace ISEKAI_Model
public override string eventName { get { return "봄이 루트 이벤트 1"; } }
public override EventLocation location { get { return EventLocation.BackMount; } }
public override int givenMaxTurn { get { return 2; } }
public override int cost { get { return 2; } }
public override int cost { get { return 0; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Mine_1.txt"); } } // command list.
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/NKAgent_1.txt"); } } // command list.
protected override bool exclusiveCondition()
{
......@@ -34,7 +34,7 @@ namespace ISEKAI_Model
public NKAgent_1(Game game): base(game)
{
characterName = "선녀짱";
}
}
}
\ No newline at end of file
......@@ -12,15 +12,24 @@ namespace ISEKAI_Model
public override string eventName { get { return "봄이 루트 이벤트 2"; } }
public override EventLocation location { get { return EventLocation.TaskLeaderHouse; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 1; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/Mine_1.txt"); } } // command list.
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/NKAgent_2.txt"); } } // command list.
protected override bool exclusiveCondition()
{
bool choiceCondition = game.TryGetChoiceHistory("봄이 루트 이벤트 1", 0) == 0;
bool prevCondition = game.allEventsList.Find(e => e.eventName.Equals("봄이 루트 이벤트 1")).status == EventStatus.Completed;
return choiceCondition && prevCondition;
if (_isOccured)
return false;
else
{
_isOccured = true;
return choiceCondition && prevCondition;
}
}
private bool _isOccured = false;
......@@ -33,7 +42,7 @@ namespace ISEKAI_Model
public NKAgent_2(Game game): base(game)
{
characterName = "봄이짱";
}
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class NKAgent_3 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "봄이 루트 이벤트 3"; } }
public override EventLocation location { get { return EventLocation.TownSquare; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/NKAgent_3.txt"); } } // command list.
protected override bool exclusiveCondition()
{
return game.allEventsList.Find(e => e.eventName.Equals("봄이 루트 이벤트 2")).status == EventStatus.Completed &&
game.allEventsList.Find(e => e.eventName.Equals("길 복구 이벤트")).status == EventStatus.Completed;
}
public override void Complete()
{
base.Complete();
game.town.remainFoodAmount -= 20;
}
public NKAgent_3(Game game): base(game)
{
characterName = "봄이짱";
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: 2a9be44f33a6c7d439473a2cf8be9a36
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace ISEKAI_Model
{
public class NKAgent_4 : EventCore
{
public override int forcedEventPriority { get { return 0; } }
public override string eventName { get { return "봄이 루트 이벤트 4"; } }
public override EventLocation location { get { return EventLocation.TownSquare; } }
public override int givenMaxTurn { get { return 3; } }
public override int cost { get { return 2; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/NKAgent_4.txt"); } } // command list.
protected override bool exclusiveCondition()
{
return game.allEventsList.Find(e => e.eventName.Equals("봄이 루트 이벤트 3")).status == EventStatus.Completed &&
game.allEventsList.Find(e => e.eventName.Equals("길 복구 이벤트")).status == EventStatus.Completed;
}
public override void Complete()
{
base.Complete();
game.town.remainFoodAmount -= 20;
}
public NKAgent_4(Game game): base(game)
{
characterName = "봄이짱";
}
}
}
\ No newline at end of file
fileFormatVersion: 2
guid: c48f3630160f4f44582660c45c1cf395
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
......@@ -15,7 +15,7 @@ namespace ISEKAI_Model
protected override bool exclusiveCondition()
{
return game.turn.turnNumber == 12;
return game.turn.year == 1999;
}
public NKScout(Game game) : base(game)
......
using System.Collections;
using System.Collections.Generic;
namespace ISEKAI_Model
{
public class ReturnWarning : EventCore
{
public override int forcedEventPriority { get { return 1000; } }
public override string eventName { get { return "당의 귀환 경고 이벤트"; } }
public override EventLocation location { get { return EventLocation.None; } }
public override int givenMaxTurn { get { return 10; } }
public override int cost { get { return 0; } }
public override Season availableSeason { get { return Season.None; } }
public override List<Command> script { get { return Parser.ParseScript("Assets/ISEKAI_Model/Scripts/ReturnWarning.txt"); } } // command list.
protected override bool exclusiveCondition()
{
return game.turn.year == 1997;
}
public ReturnWarning(Game game) : base(game)
{
}
}
}
fileFormatVersion: 2
guid: 8c2b2c137aa21fb4aab415edad527aed
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\Town"
# "이 곳은 생각보다 미개한 곳이다."
# "그래도 비좁은 방구석에만 있다가 이런 넓은 평원으로 나오니 평화롭긴 하군."
# "밭에서 일하는 것도 그리 어렵지는 않았다. 대부분 일은 소가 하고, 나는 게다가 관리를 해 대부분의 일은 마을 사람들이 한다."
# "일을 마치고 마을로 돌아오는 중 전에 만난 노파 한명을 만나게 되었다."
Load Character "Character\Imperius\a\normal" -center
## "노파" "아, 동무, 이리 오시라요." -center
## "나" "뭐요?"
## "노파" "마을 동무들이 다 장 동무한테 고마워서… 오늘은 진수성찬을 대접하고 싶은네…" -center
## "나" "그렇다면야 저는 감사합니다."
# "딱히 거절할 필요도 없고? 일단 배고프니 노파의 집으로 따라가기로 하였다."
Unload Character -center
VFX Transition
Load Background "Background\GrannyRoom"
# "저녁은 맛있게 먹었다."
# "비록 물자가 부족한것이 드러났고 고향 프랑스 음식에 비하면 맛이 없었지만, 그래도 이세계의 음식이라 색다른 느낌이었다."
# "노파랑 여러가지 이야기를 하다보니, 호기심이 많은 노인이라는 생각이 들었다."
Load Character "Character\Imperius\a\normal" -center
## "노파" "아 그러고보니" -center
## "노파" "로동 안하는 날에 맨날 하는 그거는 뭐신가?" -center
## "나" "...? 정확히 무엇을 말씀하시는 겁니까?" -center
## "노파" "그거 있잖어, 장 동지가 나무 막대기 두개를 서로 가른거 앞에 무릎 꿇고 하는거 있잖어." -center
# "아."
# "일요일 마다 드리는 기도를 보았나 보다."
# "사제가 없어서 미사를 드릴수는 없지만 그래도 기도를 하고는 있었다."
## "나" "당연히 우리 주 예수께 기도를 드리는 것이죠."
## "노파" "예수가 뭐심까?" -center
# "...아아 잠시만"
# "그러고보니 여긴 이세계다."
# "당연히 성자의 현계에 대해 계시를 받았을 가능성은 희박하다."
# "즉 이교도들인 것이다."
## "나" "오이오이, 설마, 『예수님』도 모르는것인가?"
## "노파" "모르겠습니다..." -center
# "이런..."
# "어디서부터 알려줘야 하나..."
# "일단 가방에 있는 성경을 꺼냈다."
## "나" "예수는 가장 높은 령도자 같은겁니다"
## "나" "죽어서도 가는 나라가 있는데 아오지를 갈지 평양을 갈지 예수가 결정하는 거임"
Load Character "Character\Imperius\a\surprised" -center
## "노파" "그러면 이분을 믿으면 극락왕생이 가능한 겁니까?" -center
## "나" "그렇습네다" -center
Unload Character -center
VFX Transition
# "그렇게 거의 2시간 동안 주 예수의 희생과 인류의 구원에 대해 설명을 하였다."
# "마침 정말 다행히도 수업때 신학 대전의 내용을 옮겨적은 종이들 또한 가방안에 있었다."
Load Character "Character\Imperius\a\crying" -center
## "노파" "오오 역시 구세주...흑흑, 믿쑵니다" -center
# "굉장히 개략적으로만 설명했는데 바로 신앙이 생겨버렸다..."
## "나" "할매, 일단 오늘은 여기까지 알아보고 계속 알려줄태니"
## "나" "오늘만 배우고 그만두지 말고 내일도 배우고 모래도 배우는게 좋지 않겠나?"
# "노파는 얼굴을 끄덕거린다."
# "아 그러고보니 세례도 해줘야 하나."
## "나" "혹시 물 없소?"
## "나" "우리 주님을 제대로 따르기 위해선 세례라는 의식을 치루어야 하오."
## "나" "그리고 세례명이란 새로운 이름이 필요하니, 무엇이 적당하겠소?"
Load Character "Character\Imperius\a\normal" -center
## "노파" "으음......항상 전 힘이 부족해 인생을 떠돌아 다니며 혼란스럽게 지낸것 같소이다." -center
## "노파" "무언가 강력한 힘과 질서, 용기를 상징할 만한 이름이 없을까요?" -center
## "나" "흐으음...황제의 힘과 질서를 뜻하는 단어로 임페리움이란 단어가 있소이다."
## "노파" "그것이 좋은 것 같슴메 쟝 동지, 그걸 이름 용을 바꾸려면 어떻게 해야 하오?" -center
## "나" "보통은 -우스를 붙히는데 --"
## "노파" "임페...리우스, 오오! 그것으로 하겠소!" -center
# "남성형이긴 하나 신앙심이 너무 강해보여 말리지 않았다."
Load Character "Character\Imperius\a\prayer" -center
# "그렇게 할머니 머리 위에 물을 부으며, 나는 성부와 성자와 성령의 이름으로 세례의식을 거행했다."
## "나" "아멘"
## "노파" "아멘"
## "나" "이제부터 할머니 이름은 임페리우스요."
## "노파" "오오...아… 알겠소" -center
# "이렇게 어쩌다보니 이교도 한명을 개종하게 되었다 (오이오이 위험하다고?)"
fileFormatVersion: 2
guid: 3de7ef44d0e8d8a4399ab69fa7812deb
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\Town"
# "개종을 한 이후 나는 임페리우스에게 매주 일요일마다 성경을 함께 읽으며 기도를 하게 되었다."
## "나" "오늘 알려줄 부분은...."
## "나" "Et quidam descendentes de Judæa docebant fratres..."
## "나" "이부분 이군..."
# "그런데 오늘은 노파 집에 가다가 신기한 광경을 보게 되었다."
Load Background "Background\GrannyHouse"
Load Character "Character\Imperius\b\invertedscared" -left
Load Character "Character\Crowd\angry" -right
## "마을 사람들" "이런 사람을 홀리는 나쁜 년!" -right
## "마을 사람들" "무당을 죽여라! 혼쭐 내주자!" -right
# "노파는 거꾸로 묶여있었고 다른 마을 사람들이 횃불을 들고있었다."
## "나" "이 무슨--!"
## "마을 사람들" "오오 장 동지!" -right
## "마을 사람들" "그래 동지 잘 왔소" -right
## "마을 사람들" "동지, 긍께 이 노인네가 무당이라는 사실을 알고있었소?" -right
# "...?"
# "그 후 전해들은 설명은 이 노파가 젊을 때 잡신과 귀신을 섬기며, 밤에 하늘을 날아다니면서 남을 저주하고 병에 걸리게 했던 무당이라는 것이었다."
## "마을 사람들" "그러니까 동지도 조심하오" -right
# "허, 잠깐 뭔가 이상하다."
# "설마 이 녀석들, 마법을 믿는건가?"
# "분명 교황께서는 마법은 존재하지 않는다 선언했을텐데...."
## "나" "잠시만 동무들"
## "나" "혹시 마법을 믿는것이오?"
## "마을 사람들" "동지가 이 나쁜 년이 주술 부리는 것을 안보아서 그렇소!" -right
## "마을 사람들" "주술의 힘은 우리들이 겪어 보아서 아오!" -right
## "마을 사람들" "악령들을 부르는 저주가 아니라면 이 가뭄들이 어떻게 설명되오?!" -right
## "나" "허허....."
## "나" "아니 마을 동지 여러분, 진실을 바라보십쇼!"
## "나" "마을의 농사가 망한것은 주술 때문이 아니라, 당의 농사법이 잘못됬기 때문입니다!"
Load Character "Character\Crowd\sugunsugun" -right
# "동네사람들은 약간 벙찐 모습이었다."
## "나" "교황 XXX 성하께서는 분명 교회법을 통해 마법은 미신에 불과하다 선포하셨소이다."
## "나" "동무들… 혹시 이단이었소?"
## "나" "그래도 못믿겠다면, 내가 악마와 상종하는 자와 참된 신앙인을 구별하는 법을 아오."
## "나" "잠시 저 노파를 내려보시오."
# "마을 사람들은 나의 말에 혼란을 겪었는지 잠시 머뭇거리다 무당을 풀어주었다."
Unload Character -left
Load Character "Character\Imperius\b\scared" -left
# "임페리우스가 다시 내려오자, 나는 그녀를 바라보며 물어보기 시작했다."
## "나" "마을 동무들, 잘 보시오, 내가 말하는 질문에 대답을 올바르게 할수 있다면 이 노파는 무고하오."
## "나" "Credo in unum Deum, Patrem omnipoténtem..."
## "임페리우스" "Factorem cæli et terræ, visibílium ómnium et invisibilium."
## "임페리우스" "Et in unum Dóminum Iesum Christum, Filium Dei unigénitum et ex Patre natum ante ómnia sǽcula...."
# "그렇게 임페리우스는 니케아 신경을 끝까지 읽어 내려갔다."
# "라틴어로 신앙의 고백을 읽자 마을 사람들을 뜻은 모르지만 무언가에 홀린 듯이 듣기 시작했다."
## "임페리우스" "Et exspécto resurrectiónem mortuórum, et vitam ventúri sæculi."
## "임페리우스" "Amen"
## "나" "아멘!"
# "그러고 나서 나는 마을 사람들을 타일르기 시작했다."
## "나" "이렇게 독실한 신자를 마녀로 몰다니..."
## "나" "동무들은 영혼이 지옥이란 아오지중 아오지 불에 떨어질 위기에 처해있다!"
# "그렇게 나는 지옥의 꺼지지 않는 불과 영원한 심판에 대해 서술하기 시작했다."
# "듣다 참다못한 마을 사람들은 덜덜 떨기 시작했다."
Load Character "Character\Crowd\scared" -right
## "마을 사람들" "아, 안돼! 그런 아오지가 있다니...그럴 순 없소!" -right
## "나" "어서 동무들 모두 죄를 뇌우치세요!"
## "마을 사람들" "하지만 어떻게 해야지 죄를 씻을수가 있소!"
## "나" "오이오이, 지금 까지 설명 했는데, 설마 그것도 모르는 것들인가!"
## "나" "주님의 말씀과 전통을 담은, 보편교회의 일부로 들어와야 한다!"
## "나" "어서 당의 미신을 버리고, 이성적이고 논리적인 보편교회의 가르침을 따르라!"
# "아 맞다, 그러고 보니 가방 속에 신학대전 노트들을 지금도 들고 있었다."
## "나" "이것은『신학대전』이란 것이다. 내가 있던 곳에선 다들 읽던 것이지."
# "내용을 읊어주자 임페리우스 처럼 다들 진리에 설득당해 무릎을 꿇고 자신들의 죄를 뇌우치며 울기 시작했다."
Load Character "Character\Crowd\crying" -right
## "마을 사람들" "어엉...흑, 믿씀메...." -right
## "나" "자 따라해보시오, ‘예수 천국, 불신 아오지'!"
## "마을 사람들" "예수 천국, 불신 아오지!"
# "이 사건으로 임페리우스집 앞에 모였던 전원이 개종되었고, 그 이후 마을 전체에 이 아오지중 아오지와 보편교회의 소식을 퍼져나갔다."
# "그렇게 몇달만에 나는 마을의 대다수를 보편교회로 개종시키고 세례를 진행하게 되었다."
# "오이오이, 위험하다고?"
fileFormatVersion: 2
guid: 0bdb85649397a7747ab66c760f2b4a99
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\Talkmemory"
# "‘결국에는 당 간부에서 요 촌락을 다시 오지 않겠습니까…?’"
# "라고 말한 작업반장 동지의 말도 이해가 갔다. 언젠가는 다시 사람들을 몰고 올태니…"
# "그렇다면 우리도 무언가 대책이 필요할탠데…"
## "나" "역시 그것밖에 없나…"
# "나는 작업반장을 찾아나섰다."
VFX Transition
Load Background "Background\Morningroom"
Load Character "Character\Father\d\thoughtful" -center
# "상황을 난 작업반장과 마을의 지도부에게 상세히 설명하였다"
Load Character "Character\Rancher\c\normal" -left
Load Character "Character\Smith\c\normal" -right
## "...그래서 결국 우리는 성을 세워야 한다는 것입니다."
# "어느새 통계원동지와 기술지도원 동지까지 왔다."
# "일단 설명은 이정도만 하면 되겠지"
## "나" "어떻게 생각하시오?"
## "기술지도원" "그런데" -right
# "기술지도원은 곰곰히 듣다가 무언가 이해가 안되는 점이 있는지 입을 열었다." -right
## "기술지도원" "성이란게 정확히 뭐요?" -right
## "통계원" "그러게 말이요, 나도 궁금했소" -left
# "아."
# "하긴, 삼포제도 모르던 이들이 성이 뭔지를 알리가 전무했다."
# "종이를 찾아서 설명해주려고 생각해봤지만, 종이가 없을 것 같아서 땅에다 그림을 그렸다."
## "나" "그러니까 이렇게… 돌을 쌓으면…"
VFX Transition
# "그렇게 한동안 설명을 했다."
## "나" "그래서 결론적으론, 당 군대가 우리 마을에 불마당질을 해도 버틸 수 있다는 것입니다"
## "작업반장" "오오!" -center
# "일단 어느정도 건축에 대한 설명도 해주었다."
## "나" "일단 촌락 주위에 나무 쌓으면서 시작을 해봅시다"
## "기술지도원" "아.. 알겠소" -right
# "일단 저기에 있는 산으로 가서 나무를 얻으면…"
# "아."
# "생각해보니까 땔깜때고 밭을 위한 공간을 만든다고 촌락사람들이 내가 오기 전부터 산을 민둥산으로 만들어버렸다."
# "산 뒤쪽에는 괜찮으려나…"
## "나" "일단 나무를 찾아야 하니, 저와 함께 산을 둘러 봅시다."
VFX Transition
Load Background "Background\forest"
# "수시간 동안 수색을 열심히 해본 결과, 다행이 가까운 산의 뒤쪽에 멀쩡히 남아있는 숲을 찾을 수 있었다."
# "여기 있는 나무들로 벽을 쌓아봐야지."
Load Minigame "TetrisGame"
fileFormatVersion: 2
guid: 64f074d596aa00e469e54efde65da4f6
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\MotteandBailey"
## "일단 나무로 어느정도 벽을 세웠다."
## "그런데 너무 부실한 것 같은데…"
## "집 앞에 있던 성을 생각해보니, 성을 튼튼하게 만들어주는 것은 나무보다 돌이었다.."
## "역시 돌을 캐야하나…"
# "기술지도원 동지를 찾아갔다"
VFX Transition
Load Character "Character\Smith\c\normal" -center
## "나" 그래서 도구도 있고 광산도 있으니 성을 보강해야 하지 않갔습니까?"
## "기술지도원" "흐음… 듣고보니 사리에 맞는 말 같습다 동지." -center
# "기술지도원도 동의하는 것 같군."
## "나" "자자 작업반장 동지께 가서 이야기를 해봅시다"
VFX Transition
Unload Character -center
Load Background "Background\Morningroom"
Load Character "Character\Smith\c\normal" -left
Load Character "Character\Father\c\normal" "-right
## "나" "...렇게 되어, 그래서 이제는 돌을 캐야할 때가 왔다는 것입니다"
## "작업반장" "그런데 그게 말이야 쉽지, 노동력이 허다하게 많이 필요같은데 어떻게 하오?" -right
## "나" "그래서 사람들이 많이 붙어줘야하는데… 그래서 이 촌락을 이끄는 이야기를 하러 온것입니다."
## "작업반장" "어허, 이 촌락의 수령은 엄연히 장 동지요." -right
## "기술지도원" "옮소. 장 동지가 가서 직접 마을 동무들을 설득해봅시오다." -left
## "작업반장" "마을 동무들을 설득할 수 있겠소?" -right
## "나" "으음...허리빠지게 일하는 노동을 권하는건데"
## "나" ""과연 할수 있을까요...."
## "작업반장" "뭐 설득만 한다면 {성:Château}인지 뭔지 잘 지을 수 있겠지만. 고생좀 해야할 것 같소" -right
## "기술지도원" "역시 일단 해봐야하지 않갔습니까?" -left
VFX Transition
Unload Character -left
Unload Character -right
Load Character "Character\Crowd\normal" -center
# "그렇게 마을 사람들을 모아 광장에 불러보았다."
## "나" "크흠....여러분. 성이 무엇입니까?"
## "나" "언제나 그리운 이름입니다"
## "나" "우리가 사모하고 눈물흘리며, 오랜 새월을 목말라 했던 이름입니다!"
## "나" "성은 바로 강성촌락을 말하는 것입니다 여러분!"
## "마을 사람들" "와아아아아아아아" -center
## "나" "다들 무엇합니까? 빨리 돌을 캐러 갑시다!"
## "마을 사람들" "옮소! 자 갑시다!" -center
## "마을 사람들" "와아아아아!" -center
# "뭐지…?"
# "쉽네?"
# "돌이나 캐러 가야겠다."
Load Minigame "Tetrisgame"
fileFormatVersion: 2
guid: 2a9b5d5459a2b7548924fd6b600e31e6
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
using Microsoft.Analytics.Interfaces;
using Microsoft.Analytics.Types.Sql;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
namespace Assets.ISEKAI_Model.Scripts
{
class DeadEnd
{
}
}Load Background "Background\Eyeslitceiling"
Load Background "Background\Eyeslitceiling"
# "어느날 잠을 자다 소리가 들려 깼다."
# "수년 동안 프랑스의 숲들에서 야영을 하다 보니 밤에 소리가 들리면 바로 깨는 습관을 익히지 않으면 안됬기 때문이다."
Load Background "Background\Darkroom"
......
......@@ -65,4 +65,5 @@ Choice
--0 # "그래, 안전하게 가는 것이 좋다. 뭔가를 옮겨 심을 필요 없으니 마을 사람들도 덜 힘들 것이다."
--1 # "실험적이지만, 장기적으로나 단기적으로 지금 당장 지력을 회복시키지 않으면 위험했다."
--1 # "토끼풀을 심게 하자."
--2 # "단기적으로 지력을 깍아 먹겠지만, 적어도 콩과 순무가 수확되면 이를 어느 정도 상쇄해줄지도 모른다. 게다가 장기적으론 이 방법이 제일 확실했다."
\ No newline at end of file
--2 # "단기적으로 지력을 깍아 먹겠지만, 적어도 콩과 순무가 수확되면 이를 어느 정도 상쇄해줄지도 모른다. 게다가 장기적으론 이 방법이 제일 확실했다."
--2 # "콩과 순무를 심자."
......@@ -40,8 +40,8 @@ Choice
-- "바로 밀/벼/보리 농사를 시작한다." -FoodP (+10) -Food (+30) -Morale (+20)
-- "올해 까지는 계속 귀리와 호밀을 재배한다." -FoodP (+40) -Food (+5) -Morale (-20)
-#
--1 ## "나" "바로 밀, 벼, 그리고 보리 농사를 시작하죠. 지력이 충분히 회복된거 같습니다."
--2 ## "나" "아직 혹시 모르니, 조금 더 안전하게 갑시다. 귀리와 호밀로 씨를 뿌립시다."
--0 ## "나" "바로 밀, 벼, 그리고 보리 농사를 시작하죠. 지력이 충분히 회복된거 같습니다."
--1 ## "나" "아직 혹시 모르니, 조금 더 안전하게 갑시다. 귀리와 호밀로 씨를 뿌립시다."
## "작업반장 동지" "오, 알겠네. 통계원 동무, 받아 적었나?" -right
## "통계원 동지" "네, 어서 인원과 씨앗 통계 계산을 하여 일을 분배하겠습니다." -left
# "그렇게 나는 또 봄 내내 올해 농사를 위한 계획과 일 분배를 하며 시간을 보냈다."
Load Background "Background\fields"
# "논밭을 갈구던 소를 바라보며, 나는 깊은 생각에 빠졌다."
# "확실히 이 마을에 처음에 왔을 때부터 찾아볼수 있었던 가축은 오직 두 종류, 소와 닭 밖에 없었다."
# "나머지는 이미 다 잡아먹고, 소는 논밭을 갈구는데 필요한 정도만, 닭은 알을 계속 낳게 하기 위해서만 남겨놨다 했던거 같다."
# "하지만 이제 슬슬 마을의 농사도 안정이 되갔다."
# "그런 이상 이제 돼지나 다른 가축들도 찾아보는 것이 마을의 전체적 건강과 사기를 높이는데 좋을 것란 생각이 들었다."
# "하지만 이 부락에는 그런 동물들을 본적은 없었다."
# "아마도 이 계곡에서 나가 마을 바깥을 개척해야 할테지만, 그래도 혹시 몰라 작업반장과 선녀에게 물어보기로 하였다."
VFX Transition
Load Background "Background\MorningRoom"
Load Character "Character\Father\b\normal" -left
Load Character "Character\Heroine\c\normal" -right
## "나" "...그래서, 이 마을에 가축을 과거에 담당하던 사람이 정확히 누구였고"
## "나" "이 마을에 가축 담당 시설들이 어떻게 되있었는지 알아보아야 할것 같습니다."
## "선녀" "흐음...."
## "선녀" "우리 부락은 공식적으론 농업반이라, 농사짓만 하지 않았나유, 아버지?"
## "작업반장" "농산작업반이긴해도, 축산을 담당하는 분조가 있긴했었어."
## "작업반장" "오...맞아, 통계원 동무가 축산분조를 담당했었다네."
## "작업반장" "그 사람, 개인 살림집에서 말 때를 기르기도 했었지."
## "작업반장" "말을 예전에 타고 다녔던 기억이 있던거 같기도 하네"
## "작업반장" "그 사람 자기 말들을 정말 자식처럼 아끼고 다녔지...."
## "작업반장" "하지만 마을 식량 상황이 심각해지자 다 도축해서 장 동지가 오기 전에 먹었을 것이네"
## "작업반장" "그떄 통계원 동무를 설득하는게 정말 힘들었지."
## "작업반장" "아마 이 마을 시설에 있던 시설들에 대해 설명받고 싶으면 통계원 동무한테 가보는게 좋을 것이네."
## "나" "오오, 감사합니다."
# "지금 당장은 우선순위가 낮지만, 나중에 시간이 나서 만나게 된다면 물어봐야 겠다."
fileFormatVersion: 2
guid: fd23afe9a5c5da54eb808779abe421f1
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\moutain"
# "마침 오늘 할일을 일찍보다 끝내서, 남은 시간을 산책로를 바꾸어 마을 외곽을 더 넓게 둘러 보기로 하였다."
# "이왕 산책도 하는김에 혹시 뒷산을 넘어가는 길이라도 발견할수 있지 않을까 나름 기대도 했다."
# "그렇게 둘러 보다 보니, 뒷산의 마을로부터 반대편에서 아주 특이한 것을 눈치 챘다."
# "통계원이 어디선가 나와서 갑자기 마을 쪽으로 다시 걸어가는 것이었다."
# "빈 쌀주머지 몇개를 또한 들고 있었다."
# "나를 눈치채지 못한듯 했다."
# "뭔가 수상쩍었지만, 일단 한번 다가가서 말을 걸어 보았다."
Load Character "Character\Rancher\c\normal" -center
## "나" "오, 자광철 통계원 동지!"
Load Character "Character\Rancher\c\surprised" -center
# "딱봐도 놀란 표정이었다."
Load Character "Character\Rancher\c\panic" -center
## "자광철" "어, 어음....장 동지 구먼!" -center
## "자광철" "이 시간에 여기는 웬일인가?" -center
## "나" "그냥 산책 중이지."
## "나" "그쪽이야 말로 여긴 웬일인가?"
Load Character "Character\Rancher\c\normal" -center
## "자광철" "아....그 나도 산책 중이었지." -center
# "100% 수상하다."
# "무언가를 숨기고 있다."
# "일단은 모르는 척을 해보도록 했다."
## "나" "그렇군요. 마침 자네를 찾고 있던 중이라 다행이네."
## "나" "작업반장 동지께서 들었는데, 자네가 이 마을의 축산분조장이기도 했었다 하네."
Load Character "Character\Rancher\c\panic" -center
# "축산분조 이야기이 나오자 자광철은 뭔가 찔리는것이 있는지 눈을 돌린다."
## "자광철" "으음....맞긴 하네. 헌데 그것은 왜 물어보는가?" -center
## "나" "듣기론 마을의 식량 상황이 심각해지자, 제가 도착하기 전에 벌써 다 먹어버렸다 들었습니다."
## "나" "하지만 이제 마을도 다시 강성촌락이 되어감에 따라, 나중에 돼지 같은 가축을 구할 수 있게 된다면"
## "나" "이 '축산 분조'의 부활도 고려해봐야할것 같기에, 이렇게 이 마을에 예전에 쓰던 시설들에 대해 물어보기 위해 왔습니다."
Load Character "Character\Rancher\c\normal" -center
## "자광철" "아...아, 그렇군." -center
## "자광철" "나를 따라오게나" -center
VFX Transition
Load Background "Background\Town"
# "그 이후 나는 통계원에게서 마을에 있었던 축산 시설들에 대해 설명을 들었다."
# "마을 바깥쪽에 간간히 보이던 큰 건물들이 예전에 말이나 기타 동물들을 키우는데 쓰던 헛간이란 사실이 흥미로웠다."
# "그렇게 마을의 시설의 크기와 마을이 지탱할수 있는 축산의 규모에 대해 어느정도 컨셉이 생기기도 했다."
# "하지만 사실 그것보단 통계원이 도대체 무엇을 숨기고 있고, 마을에서 먼 그곳에서 뭘 하고 있었는지에 대해 더 생각하느라 바빴다."
VFX Transition
Load Background "Background\blackbackgroud"
# "그 이후 거의 두달 동안 나는 매일마다 산책 하는 척을 하며 통계원을 관측해보았다."
# "잘 관찰한 결과, 나는 마을 사람들이 아직 한창 일하고 있을때 통계원이 매일마다 어딘가로 쌀포대를 들고, 잘 눈에 안띄는 길을 통해 뒷산쪽으로 올라간다는 것을 알아냈다."
# "가끔씩은 여러번 왔다 갔다 하기도 했다."
# "통계원에게 들키지 않고 따라 가보려고 했지만, 생각보다 어려웠다."
# "일단 통계원이 쓰던 길은 마차나 수레는 커녕 사람이 지나가기도 어려운 루트였다."
# "이 험한 길을 쌀포대를 들고 다닌다는게 생각해보면 대단했다."
# "게다가 통계원에게 들키지 않고 미행하려다 보니 순간 정신을 다른데 두고나 숨으면, 통계원은 사라져 있었다."
# "하지만 집요하게 추적한 결과, 나는 놀라운 사실을 알아낼수 있었다."
Load Background "Background\shedinmountain"
# "뒷산의 반대쪽의 중턱에는, 적당히 넓은 공터와 작은 헛간이 있었다."
# "통계원은 매일마다 그곳으로 쌀포대를 가지고 들어갔다, 빈 쌀포대를 가지고 나왔다."
# "한번은 잘 숨어있다가, 통계원이 떠나자 헛간 안쪽을 보기로 하였다."
Load Background "Background\barninside"
# "놀랍게도 헛간 안쪽에는 말 두마리가 앉아서 잠을 자고 있었다."
# "한놈은 암컷, 한놈은 수컷이었다."
# "쌀포대 안에는 사료와 잡초 풀들이 잔뜩 있어 보였다."
# "조금 더 자세히 보니 태어난지 1년도 안되보이는 새끼 몇마리도 보였다."
# "통계원은 이 말 두 마리를 비밀리에 기르고 있었던 것이다."
# "이 엄청난 발견을 알아챈채 나는 이제 어떻게 할까 심각히 고민하며 마을로 돌아갔다."
fileFormatVersion: 2
guid: 913027828adfb1a47895d2a44742e36e
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\shedinmountain"
# "마을에서 통계원의 비밀을 아는 유일한 사람으로서, 나는 통계원에게 어떻게 접근해야할지에 대해 드디어 결단을 내리기로 하였다."
# "말은 이 마을의 미래를 위해 필수적인 동물이었다."
# "마을 바깥 쪽을 더 멀리 정찰을 해 마을의 가축 종류를 늘릴 수 있을 뿐만 아니라, 사냥에도 엄청난 도움이 될수 있었다."
# "게다가 만약 다시 산을 넘어가는 길을 개척하게 된다면, 마을 사이 무역을 위해 수레를 끌 말들도 필요해질 것이다."
# "그렇기 위해선 많은 수의 말이 필요할것이다."
# "따라서 통계원에게 말을 더 이상 숨기지 말고,
# "WORK IN PROGRESS"
fileFormatVersion: 2
guid: 700a0d8b76868db45bc79dad6e622e1b
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
# "Placeholder"
\ No newline at end of file
fileFormatVersion: 2
guid: 99d599c0c997f2040b7fe24a8a2dd064
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -56,5 +56,5 @@ Load Character "Character\Crowd\normal" -center
## "나" "그러나, 다 익히고 나면 더 이상 『산도티』의 침입은 막을수 있을것이야."
## "마을 사람들" "오오....장 동지, 우리에게 이런 지식을!"
## "마을 사람들" "정말 감사합니다!!"
--0 # "그렇게 두세달 동안 마을 사람들과 『활』사용을 훈련했다."
--1 # "그렇게 두세달 동안 마을 사람들과『석궁』사용을 훈련했다."
--0 # "그렇게 여러달 동안 마을 사람들과 『활』사용을 훈련했다."
--1 # "그렇게 여러달 동안 마을 사람들과『석궁』사용을 훈련했다."
......@@ -28,7 +28,7 @@ Load CG "CG\WildBoarBoss"
# "그 커다란 산도티는 운명의 장난 처럼 선녀를 노려보고 있었다."
# "그날 밤의 상황과 거의 유사했지만, 그 때와 비해 이 산도티는 훨씬 더 성나고 커보였다."
## "나" "헉. 구해주러 갈게!!"
Load Minigame "WildBoarBossfight"
Load Minigame "RaidingGame"
# "드디어 대장 산도티가 죽은 것을 확인하자, 나는 넘어져있던 선녀를 안아 일으키며 숨을 골랐다."
Load Character "Character\Heroine\d\relieved" -center
## "나" "헉.. 힘들다.."
......
......@@ -15,4 +15,4 @@ Load Character "Character\Father\c\thoughtful" -center
# "하지만 기술지도원과 처음 이 마을에 온 이후 자주 이야기를 나눈적이 없었다."
# "게다가 만날 때마다 통계원 처럼 내가 이 마을에 있는 것을 딱히 좋게 보는 것 같지는 않아보였다."
# "그래도 이번에라도 친해질까."
# "기술지도원 동지의 집으로 한번 가보자."
\ No newline at end of file
# "기술지도원 동지의 집으로 한번 가보자."
......@@ -47,4 +47,4 @@ Load Background "Background\Darkmine"
## "나" "...그렇다면?"
# "그렇다."
# "선녀가 분명히 그 위치를 알고있을 것이다."
# "나는 선녀를 찾으러 발걸음을 돌렸다."
\ No newline at end of file
# "나는 선녀를 찾으러 발걸음을 돌렸다."
......@@ -47,4 +47,4 @@ Load Minigame "MiningGame"
# "그렇게 몇달동안 마을의 모든 인력을 동원해 캔 뒤에도, 조금 씩 인력을 줄여서 계속 지속적으로 철광석을 캐는 작업을 시작했다."
# "이 철광석을 녹여 강철을 얻는 방법 또한 보니 이 세계 주민들의 방법이 비효율적이어서, 내가 시토회 수도사들에게 배웠던 용광로 제작법을 알려 주어 효율을 향상시키기도 했다."
# "전체적으로 결과는 만족스러웠다."
# "앞으로 철이 잔뜩 필요할것 같은 때를 위해 또 마을 전원을 동원해 캘때도 있을테지만, 그건 그때 하도록 하자."
\ No newline at end of file
# "앞으로 철이 잔뜩 필요할것 같은 때를 위해 또 마을 전원을 동원해 캘때도 있을테지만, 그건 그때 하도록 하자."
Load Background "Background\WinterRoad"
Load Character "Chracter\Heroine\d\cold" -center
## "나" "이런 이런.. 『이 곳』의 『겨울』은 춥군. 얼어 죽기 좋은 날씨야."
## "선녀" "그래도 길이 막혀서 밖을 못나가는데 나갈수 있는 길이 없나 살펴봐야죠." -center
# "선녀는 지치지도 않는건지 매일매일 나를 불러냈다."
## "나" "알았어. 가고 있잖아!!"
## "선녀" "오늘은 저쪽 산에 가봐요!! 저쪽산에는 뭔가 있을거같아요!" -center
## "나" "그래 알았어 가자."
# "귀찮긴 했지만, 그래도 마을의 미래를 위해 선녀의 말이 확실히 맞기는 했다."
# "오늘도 선녀를 따라 산을 또 올라가다, 선녀가 무언가를 발견한듯 앞에서 멈췄다."
## "선녀" "어?" -center
## "나" "어? 저게 뭐지?"
## "선녀" "뭔가 사람 모양같은게 보여요. 누워있는거 같아요." -center
## "선녀" "누가 쓰러져있는거 아닐까요?" -center
## "나" "에이 그럴리가.."
## "선녀" "혹시모르니까 빨리 가봐요!" -center
Choice
-- "사람이라면 구해야지. 가본다." -Food (-20)
-- "오히려 멧돼지일지도 모르니 위험하다."
-#
--0 ## "나" "그래 가보자. 혹시 조난 당한 사람일 수 도 있잖아."
--0 ## "선녀" "그래요. 가보는게 좋을거같아요." -center
Load CG "CG\FallenAgentinsnow"
--0 # "진짜로 쓰러진 사람이 있었다. 가끔 선녀의 감은 알 수 없을때가 있다."
--0 ## "선녀" "어떡하죠? 진짜 사람이 쓰러져 있어요." -center
--0 # "이세계는 아직도 산 중턱에 쓰러져있는 사람이 있다니"
--0 # "아니면 나처럼 다른 세계에서 온건가.."
--0 ## "나" "마을로 대려가도록 하자."
--0 ## "선녀" "네 그래요!" -center
--0 # "결국 선녀의 집으로 대려왔다."
--0 ## "선녀" "일단 깨어날때까지 저희집에서 돌볼게요" -center
--0 ## "나" "그래주게. 빨리 깨어나야 될건데.." -center
# "다시 내가 살던 곳으로 돌아갈수 있을까 하는 기대감과 어떤사람일지 하는 불안감을 동시에 느끼며 집으로 돌아갔다."
--1 ## "나" "에이 멧돼지겠지. 그냥 가자 위험해."
--1 ## "선녀" "진짜 괜찮을까요.." -center
--1 ## "나" "그래 괜찮을거야. 가자."
--1 # "그렇게 다시 길을 걷고 있었다."
--1 # "멧돼지 울음 소리"
--1 ## "선녀" "꺅!! 아까 『그 곳』 인가봐요." -center
--1 ## "나" "그런거 같다. 빨리 돌아가는게 좋을거같아."
--1 ## "선녀" "네 빨리 가요." -center
--1 # "다행히 우리는 별 탈 없이 돌아올수 있었다."
fileFormatVersion: 2
guid: 87e65b139e4e61a41bb24344a6712965
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\Darkroom"
# "몇일전 산에 쓰러져 있던 사람이 깨어났다는 이야기를 들었다."
Load Character "Character\Father\d\normal" -center
## "나" "이장님, 그 사람이 깨어났다던데 진짜인가요?"
## "작업반장" "그렇다네, 잘왔어. 막 깨어났어. 구해준 사람이 누구인지 궁금해하더라고." -center
## "작업반장" "그래도 조심하게 낯선사람이지 않는가." -center
## "나" "네 알겠습니다."
Unload Character -center
VFX Transition
Load Character "Character\Heroine\d\normal" -left
Load Character "Character\Agent\a\normal" -right
# "들어감."
Load Character "Character\Heroine\d\surprised" -left
## "선녀" "헤에..?! 이쁘다..." -left
## "나" "응?"
Load Character "Character\Heroine\d\embarassed" -left
## "선녀" "아.. 아니에요." -left
Load Character "Character\Heroine\d\normal" -left
## "나" "괜찮습니까?"
## "???" "좀 나아졌습니다. 산에 쓰러져있는 저를 구해주셨다고..?" -right
## "나" "아 네 그렇습니다. 여기 있는 선녀가 발견했습니다."
## "선녀" "네 제가 발견했어요!" -left
## "???" "아 감사합니다.. 근데 여기가 어디죠?" -right
## "선녀" "여기는 『조선민주주의인민공화국』입니다!" -left
## "???" "『조선민주주의인민공화국』... 어디지... " -right
## "선녀" "어디서 오셧나요?" -left
## "???" "아.. 잘 모르겠어요. 기억이 나지 않아요." -right
## "선녀" "에,, 기억이 안난다뇨?" -left
## "???" "머리가 아파요,, 아무 기억도 나지 않아요,," -right
## "선녀" "에,, 이름도 기억나지 않나요?" -left
## "???" "네.." -right
# "머리를 다친것인가.."
## "나" "그럼 뭐라부르지..."
## "선녀" "저희 발견한 위치가 보미 산 이었으니 '봄이' 어떨까요?" -left
## "나" "봄이, 나쁘지 않은 이름이군."
## "봄이" "괜찮은거같아요" -right
## "나" "기억이 없는건, 막 깨어나서 그런거 같은데 마을 주위를 둘러보면 기억이 돌아오지 않을까?"
## "봄이" "아 그래보는거도 좋을거같네요.." -right
# "그렇게 우리는 하루종일 마을을 돌아보게 되었다."
# "선녀가 내가 처음 왔을때 하였듯히 이번엔 내가 새로온 봄이에게 마을을 소개시켜 주었다."
fileFormatVersion: 2
guid: 376c547cc4f3aa4409013c016787bafa
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "(마을)"
## "나" "(우리는 봄이의 기억을 찾아주기 위해 몇일간 같이 마을을돌아봤다.)"
## "나" "(그러나 기억은 전혀 돌아오지 않은거같다..)"
Load Character "Character\Heroine\d\worried" -left
Load Character "Character\Agent\a\normal" -right
## "선녀" "여전히 아무것도 기억나지 않나요..?" -left
## "봄이" "네.. 전혀 기억이 나지 않아요.." -right
## "선녀" "하.. 어떡하죠?" -left
## "나" "혹시 봄이씨를 발견했던 쪽으로 쭉 가보면 뭔가 더 나오지 않을까?"
## "선녀" "그럴지도 모르겠네요?" -left
## "선녀" "혹시 가보실래요?" -left
## "봄이" "그 쪽으로 가보고 싶긴 한데,, 민폐는 아닐지.." -right
Load Character "Character\Heroine\d\normal" -left
## "선녀" "저희는 괜찮아요. 가도 돼요!!" -left
## "봄이" "아니면 몸도 괜찮아 졌는데 혹시 혼자 다녀와도 될까요?" -right
## "선녀" "앗.. 괜찮겠어요? 일어나신지도 얼마 안됐는데..?" -left
## "봄이" "몸은 완전히 다 돌아온거 같아서 괜찮아요!" -right
## "나" "저기쪽 마을까지 걸어서 몇일정도 걸리지?"
## "선녀" "아마 3일정도 걸릴거에요." -left
## "나" "아마 다시 오는데 일주일정도 걸리겠군.."
## "나" "그럼 우리가 일주일치 먹을걸 싸주는게 어떨까?"
## "선녀" "헤에...? 호..혹시 좋아하는건가..?" -left
## "나" "응..? 뭐라고"
## "선녀" "아니에요.. 괜찮을거같아요!"
## "봄이" "아아.. 감사합니다.." -right
## "나" "내일 출발할수 있게 준비해줄게요!"
## "나" "집에서 쉬고있어요!!"
## "봄이" "네네,, 감사합니다." -right
## "나" "우리는 일주일치 도시락 싸러 가자."
## "선녀" "네. 그래요."
Unload Character -left
VFX Transition
Load Background "Background\fields"
# "(다음날)"
Load Character "Character\Heroine\d\pout" -left
## "선녀" "몸 조심히 잘 다녀와요. 흥."
Unload Character -left
## "나" "잘 다녀와요."
## "봄이" "네 고마워요!!"
Unload Character -right
Unload Character -center
# "그렇게 봄이는 일주일간 여행을 떠났다."
fileFormatVersion: 2
guid: 1ad49f2f426d5fa4392305eb8ade26e7
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
Load Background "Background\fields"
# "일주일간 여행을 갔던 봄이가 돌아왔다."
Load Character "Character\Agent\b\normal" -left
Load Character "Character\Heroine\a\normal" -right
## "나" "어 오셨군요."
## "봄이" "네 잘 다녀왔습니다!" -left
## "나" "기억은 돌아왔나요?"
## "봄이" "아니오.. 먼가 흐릿하게 기억날듯 하다가 안나네요.." -left
Load Character "Character\Agent\a\sad" -center
## "봄이" "기억이 돌아오면 다시 돌아가고 싶었는데 갈곳이 없어졌네요.." -left
## "봄이" "그래도 시간 지나면 조금은 돌아오지 않을까요..?" -left
## "나" "그러면 기억이 돌아올때까지 저희 마을에서 계속 같이 사시는거 어떤가요?"
## "나" "일도 도와주고 하면 될거같은데."
Load Character "Character\Agent\b\surprised" -center
## "봄이" "아 그래도 괜찮을까요?" -left
## "나" "괜찮겠지?"
## "선녀" "에에,, 저런,,저런,,, 돼지랑 같이 산다고요..?" -right
## "나" "왜그래."
## "선녀" "아.. 아니에요.. 괜찮을거같아요." -right
## "나" "저기 저쪽에 남는 땅 있던데 저기 사시는거 어떨까요."
Load Character "Character\Agent\b\normal" -center
## "봄이" "그러면 감사하죠." -left
## "나" "대려다 드릴까요?"
## "봄이" "아 괜찮아요. 제가 할게요." -left
## "선녀" "네!!! 저희 빨리 가요! 알아서 간대요!" -right
Unload Character -left
Unload Character -right
Load Character "Character\Heroine\a\normal" -center
# "(봄이은 우리가 정해준 곳으로 갔다.)"
## "나" "흠..."
## "선녀" "왜그러세요?" -center
## "나" "뭔가 이상하지 않아?"
## "선녀" "뭐가요??" -center
## "나" "그냥 뭔가 달라진거같아서."
## "선녀" "그런가요? 전 잘 모르겠는데.." -center
Unload Character -center
# "(먼가 이상하다는 느낌이 들었지만 구체적으로 이상하게 보이는건 없었다.)"
# "(어찌 되었건 봄이는 우리 마을에 같이 살게 되었고 빠르게 적응해갔다.)"
fileFormatVersion: 2
guid: 8f50c47a99a69104da2ae9a83597861a
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -41,8 +41,8 @@ Choice
-- "척후병을 붙잡는다."
-- "그냥 내쫒는다."
-#
--1 ## "나" "통계원 동무의 말이 맞는것 같네."
--1 ## "나" "일단 척후병이 오면 대접한 다음 방심 했을때 붙잡아 어디에 가두어 놓는게 좋을것 같소."
--2 ## "나" "구지 붙잡아 놓을 필요는 없을 것 같소."
--2 ## "나" "이러한 마을하나 제대로 관리해주지 못하는 영주의 군대 쯤은 우리 부락이 충분히 막을 수 있을 것이오."
--0 ## "나" "통계원 동무의 말이 맞는것 같네."
--0 ## "나" "일단 척후병이 오면 대접한 다음 방심 했을때 붙잡아 어디에 가두어 놓는게 좋을것 같소."
--1 ## "나" "구지 붙잡아 놓을 필요는 없을 것 같소."
--1 ## "나" "이러한 마을하나 제대로 관리해주지 못하는 영주의 군대 쯤은 우리 부락이 충분히 막을 수 있을 것이오."
# "그리고 그대로 했다."
......@@ -111,4 +111,4 @@ Load Character "Character\Rancher\a\frown" -right
## "나" "정말 감사합니다。"
## "작업반장 동지" "허허, 어차피 쟝 동무 같은 건장한 쓰나이 한명이면 일손이 느니 좋은거지메。나랑 통계원 동무가 필요한 서류 같은 걸 준비를 하는 동안 여기 내 딸내미에게 부락에 대한 설명이나 들어보기오。" -center
Load Character "Character\Heroine\a\embarassed" -left
## "선녀" "아, 알겠슴메, 아바이! 쟝 동무, 어서 따라오습세다!"
\ No newline at end of file
## "선녀" "아, 알겠슴메, 아바이! 쟝 동무, 어서 따라오습세다!"
fileFormatVersion: 2
guid: 3271c7126b8cbeb4788a3c1511cd5bca
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
......@@ -51,7 +51,7 @@ public class EndingGameManager : MonoBehaviour
public Button nextWave;
public Text currentProductionText;
public int riflemanCount = 3;
public int riflemanCount = 0;
public int currentWaveNumber = 0;
public const int AllyStartPosition = -25;
......@@ -111,7 +111,7 @@ public class EndingGameManager : MonoBehaviour
else
rifleUnit = "소총병";
if (!game.isIronActivated || !game.isHorseActivated)
if (!game.isKnightActivated)
knightButton.gameObject.SetActive(false);
if (game.castleHP > 0)
......@@ -131,7 +131,7 @@ public class EndingGameManager : MonoBehaviour
isCastleExists = true;
}
riflemanCount = game.rifleAmount;
_InitWaves();
}
......
......@@ -12,4 +12,12 @@ public class Knight : EndingGameUnit
public override bool isAllyUnit => true;
public override float unitSize => 6;
private void Start()
{
if (GameManager.instance.game.horseRaisingKnightModifier)
{
hp = (int)(hp * 1.5f);
attackPower = (int)(attackPower * 1.5f);
}
}
}
......@@ -10,5 +10,14 @@ public class Rifleman : EndingGameUnit
public override int attackSpeed { get { return 3; } }
public override int attackRange { get { return 20; } }
public override bool isAllyUnit => true;
void Start()
{
if (GameManager.instance.game.bomRifleManAtkModifier)
attackPower = (int)(attackPower * 1.2f);
if (GameManager.instance.game.bomRifleManHPModifier)
hp = (int)(hp * 1.2f);
}
}
......@@ -41,9 +41,11 @@ public class Grid : MonoBehaviour
{
Destroy(grid[x, y].gameObject);
grid[x, y] = null;
GameManager.instance.game.castleHP += 10;
GameObject.Find("Score").GetComponent<Text>().text = "Score: " + TetrisGameManager.score;
GameManager.instance.game.castleHP += 10 * TetrisGameManager.scoreModifier;
}
TetrisGameManager.score++;
GameObject.Find("Score").GetComponent<Text>().text = "Score: " + TetrisGameManager.score;
}
public static void decreaseRow(int y)
......
......@@ -9,6 +9,8 @@ public class TetrisGameManager : MonoBehaviour
public GameObject gameOverScreen;
public EventManager eventManager;
public static int score = 0;
public static int scoreModifier = 1;
// Start is called before the first frame update
void Start()
......@@ -26,6 +28,7 @@ public class TetrisGameManager : MonoBehaviour
private IEnumerator _StartGameClosingProcess()
{
scoreModifier = 2;
eventManager.ExecuteOneScript();
gameOverScreen.SetActive(true);
yield return new WaitForSeconds(3f);
......
......@@ -31,8 +31,6 @@ public class UITownManager : MonoBehaviour
public Sprite townSprite;
public Sprite outskirtsSprite;
public GameObject nextTurn;
private Button _moveBtnLocation;
private Text _moveTxtlocation;
private SpriteRenderer _background;
......@@ -63,7 +61,7 @@ public class UITownManager : MonoBehaviour
public void OnMoveBtnClick()
{
GameManager gm = GameManager.instance;
Debug.Log(gm.game.visibleEventsList.Count);
Debug.Log(gm.game.turn.turnNumber);
tutorialManager.ProceedTutorial();
switch (_location)
{
......@@ -92,7 +90,7 @@ public class UITownManager : MonoBehaviour
}
GameManager.instance.TryUpdateEventSDs();
}
/*
public void OnClickNextTurnButton()
{
Game _game = GameManager.instance.game;
......@@ -104,7 +102,7 @@ public class UITownManager : MonoBehaviour
foreach (EventCore e in GameManager.instance.game.visibleEventsList)
Debug.Log(e.eventName);
}
*/
public void UpdatePanel()
{
Game _game = GameManager.instance.game;
......@@ -112,10 +110,6 @@ public class UITownManager : MonoBehaviour
textPleasant.text = _game.town.totalPleasantAmount + "/" + 200;
textTurn.text = _game.turn.ToString();
textAP.text ="AP: " + _game.remainAP + "/" + 4;
if (_game.turn.IsFormerSeason())
nextTurn.SetActive(false);
else
nextTurn.SetActive(true);
GameManager.instance.TryInstantiateEventSDs();
GameManager.instance.TryUpdateEventSDs();
SetParentsOfEvents();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment